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)?
You can right-click on the project, click on export, type 'jar', choose 'Runnable JAR File Export'. There you have the option 'Extract required libraries into generated JAR'.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With