An operating system that can run Java (Linux, OSX, Windows..). Most developers use Ubuntu/Debian.
Eclipse JEE edition with an additional Subversion (SVN) plugin installed. OpenJDK
Apache Ant 1.9.x (with all the extras that comes with the zip from apache.org or 'ant-optional' Ubuntu package)
A supported application server
A favorite database supported by EJBCA that is easy to work with (MariaDB, MySQL, PostgreSQL, ...).
A virtualization solution for testing additional combinations of application servers and databases and external OCSP responders etc.
Changes that affect the database requires more databases to test with, changes that affect the EJBs or setup requires additional application servers etc..
What you need to know to develop EJBCA
The tools described in the last section
Public Key Infrastructure and related technologies
Java Enterprise Edition, excluding message beans
Java Persistence API
Servlets, Java Server Faces (and still Java Server Pages)
If you are not a committer in SVN we are glad to accept patches. You can send us patches either in diff format (svn diff) or created with Eclipse. You can also send us you complete files that you changed, we can see the diffs in Eclipse.
Follow these guidelines when submitting patches:
Keep the patch limited, only change the parts related to your patch.
Do not change other lines, such as whitespace, adding line breaks to java doc etc. It will make it very very hard for us to review the patch.