"The basic idea (to give you some
things to search for) is:
Bundle your compiled .class files into
a 'jar'. Add a manifest to your jar
specifying a main class to run. You
might find your IDE already creates
this when you run a 'clean build'.
Netbeans puts this into a 'dist'
folder." (by Cogsy)
Plus to achieve this you can either choose:
Depending on the IDE, some support
Export features that will create the
.jar executable for you. For example,
in Eclipse, you've got that option.
Plus there are additional plug-ins for
Eclipse, such as Fat-Jar, that will
include any additional libs you
include that aren't part of Sun's
standard libs. (by kchau)
Or if you going to to serious stuff, opt for a build script like Ant or Maven.
Here's an example of an Ant build.xml script:
<project name="jar with libs" default="compile and build" basedir=".">
<!-- this is used at compile time -->
<path id="example-classpath">
<pathelement location="${root-dir}" />
<fileset dir="D:/LIC/xalan-j_2_7_1" includes="*.jar" />
</path>
<target name="compile and build">
<!-- deletes previously created jar -->
<delete file="test.jar" />
<!-- compile your code and drop .class into "bin" directory -->
<javac srcdir="${basedir}" destdir="bin" debug="true" deprecation="on">
<!-- this is telling the compiler where are the dependencies -->
<classpath refid="example-classpath" />
</javac>
<!-- copy the JARs that you need to "bin" directory -->
<copy todir="bin">
<fileset dir="D:/LIC/xalan-j_2_7_1" includes="*.jar" />
</copy>
<!-- creates your jar with the contents inside "bin" (now with your .class and .jar dependencies) -->
<jar destfile="test.jar" basedir="bin" duplicate="preserve">
<manifest>
<!-- Who is building this jar? -->
<attribute name="Built-By" value="${user.name}" />
<!-- Information about the program itself -->
<attribute name="Implementation-Vendor" value="ACME inc." />
<attribute name="Implementation-Title" value="GreatProduct" />
<attribute name="Implementation-Version" value="1.0.0beta2" />
<!-- this tells which class should run when executing your jar -->
<attribute name="Main-class" value="ApplyXPath" />
</manifest>
</jar>
</target>
</project>