You need a JDK
You need some free class libraries
You need a text editor
You need some data to process