Re: is it possible to package a Java application in one jar that
includes everything?
On 2/19/2012 9:25 PM, Nasser M. Abbasi wrote:
Its been few years since I've used Java, since jdk 1.1 I think,
and I'd just like to ask a simple question:
Is it possible to package my Java application,
including all and any other Java code, that I might have
downloaded from the web and used, into one jar file,
such that one can just download this one jar file and
double click on it on their PC or Linux or Mac, and it
will run (ofcourse one needs to have the JRE installed
on their end).
I've done something like this before, and I remember using
Makefiles and the jar command
jar cvf0 myjar.jar .../*.class
I assume only *.class files can go into a Jar. Can other
jar files go into a Jar file also?
For example, If I use 3rd party Jar file myself, do I
need to extract the content of that Jar file out first,
and then jar the resulting tree into my jar file?
Just wanted to check if things has changed, and if
there might be now better tools or ways to do this,
as I have not kept up with Java.
If someone has a good link I can read on this whole topic
of building one Jar for an application, and what to
watch for, that will help. I am using latest JDK.
Java does not standard read jars in jars (you can get special
classloaders that can do it though).
You can obviously package all the class files you need
from various external jar files into you jar file.
But I will suggest that you keep your stuff in your jar
file and the external stuff in their jar files.
That enables independent updates of your stuff and the
external stuff.
And if it is simplicity of distribution you need, then
take a look at Java Web Start.
Arne