My company is trying to determine the best strategy for implementing batch Java programs. We have a few dozen (and growing) separate Java programs. Currently, each is packaged and run as an independent JAR file.
Is this the best strategy for doing batch Java? Ongoing maintenance can be a hassle since searching Jar files is not easy. Importing existing projects from the Jar files into Eclipse is a tricky process as well. We would like these things to be easier. We have thought about packaging all the code into 1 big project and writing an interface to be able to execute the desired "package" (aka program) maybe using a Web Server.
What are other people/companies doing out there with their batch Java programs? Are there any best practices out there on this stuff? Any help/ideas/working models would be appreciated.
Currently, each program is packaged up into a JAR file using Eclipse's export option. Those JARs are then deployed to our Linux Server manually where they are tested. If they pass testing, they are then migrated up through QA and onto Production through a home grown source code control system.
The next time someone makes needs to make a change to the program, they "check out" the JAR from production. This copies the production JAR back down to the development Linux Server. The developer then has to import the JAR back into Eclipse and reconfigure the project packages before beginning an changes.
Searching inside a JAR can be done but it is messy. We have written a "search script" to do this - which basically unpackages every JAR file in the system, does a search within those files, and then deletes the unpackaged files.
We have looked into using Subversion but unless you have all the projects already in your workspace in Eclipse, you can't search for a specific text inside the Java. You can only search the commit comments.