I develop a project using .jar to reuse code.
So I have on .jar named TOOLS.jar, and I develop a simple application in file HelloWorld.java which refer my package TOOLS from TOOLS.jar
I compile with this command line:
javac -g -d C:\MyApp -cp TOOLS.jar HelloWorld.java
It's successful, and when I want to execute my application I use this command (I'm in C:\MyApp folder):
java -cp <path>\TOOLS.jar;. HelloWorld
It's successful, but my question is:
How do I execute my application when I have multiples external .jar files?
Do I have to add each one in command with -cp option?
Is there a way to generate only one binary file and execute it (as .exe with C programs)?
Concatenate each jar file argument to cp with:
; on Windows
: on Linux or Mac
e.g.
java -cp <path>\TOOLS.jar;.;<path>\jar2.jar;<path>\jar3.jar HelloWorld
on newer JVMs (6+, I think) you can also use the * to append all JARs in a directory e.g.
java -cp .;<path>\*; HelloWorld
To go a step further and create a single packaged executable see this question.