I have created a Java project in Eclipse and successfully executed it directly from Eclipse on my Windows PC. Now I have to run the same java program on Linux server.
I have tried to copy the .class files from my PC to server and run it but it didn’t work. After that I copied the whole project and run javac MyProject.java from shell and it returned the following errors:
RecordImportBatch.java:2: error: package org.apache.commons.io does not exist
import org.apache.commons.io.FileUtils;
...
RecordImportBatch.java:3: error: package org.neo4j.graphdb does not exist
import org.neo4j.graphdb.RelationshipType;
which I guess are caused because I didn’t include jar files in compile command.
There are many jar files included in this project and as a Java newbie so far I haven’t found the way to compile the project which works in Eclipse from Shell.
Does anyone know if there is a way to get the appropriate compile command directly from Eclipse and just paste it to Shell or do I have to include all jars ‘manually’? If this is the case, does anyone know how to include all jars, placed in lib directory which is located in the same folder as MyProject.java?
Thank you!
If you are just learning about java, this suggestion may be some challenge, but it would be good for you to use maven to build your project, which requires reorganizing your source files and directories. And then use the assembly plugin to create a zip that includes all dependencies. Then to run your program, you just do something like:
(you might need to adjust the syntax of the /* part, using single quotes, or removing quotes depending on your shell)
Here is a snippet for the assembly plugin (general purpose… nothing hardcoded other than version, and the path which follows conventions). This goes in pom.xml:
And here is an example assembly file (this goes in src/main/assembly/distribution.xml relative to pom.xml):
Also, eclipse has a “jar packager” utility in the gui, but I found it to be not very good when I used it a few years ago. And I don’t think it handles dependencies, so you would need to take my “-cp” argument above, and add all the jars, or put them in your lib directory yourself.
Also there is this http://fjep.sourceforge.net/ but I have never used it…. I just found it now while quickly looking up the eclipse jar packager. In his tutorial, his last line (showing running it) looks like: