Re: How Do I Publish My Working Project (corresponding dot jar
doesn't work on other's PCs)
Nigel Wade wrote:
What type of project did you create in NetBeans? Was it a Java
Application? Only this type of project creates the necessary manifest in
the project jar for it to be run simply by the java -jar project.jar
Not exactly. You can certainly edit the manifest in a normal JAR project or
normal Java project. I haven't worked with the "Java Application" NetBeans
project, but I've seen some complaints about it in this forum. Just set
"Main-Class:"
Read the Oracle site docs about JARs and JAR manifests. Your customers
can run JARs via Java WebStart, as mentioned, or directly by associating
"java -jar" with JAR files (might need "javaw -jar" on Windows platforms).
http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html
command. There are also some other constraints which if they are not met
will cause NetBeans to not create an "executable" jar. Offhand I cannot
remember what they are, and I've not had this problem re-occur for some
time.
A NetBeans Java Application should create a dist/ directory containing
the actual project jar, and a dist/lib directory containing any required
additional jars. It should also include an appropriate manifest in the
project jar which makes the jar "executable" (i.e. has a Main-Class
property). It also includes the lib/ directory in the jar Classpath.
The manifest's "Class-Path:" header, which specifies paths relative
to the JAR location on the target system.
Check the contents of your dist/ directory, and the project jar. If it
doesn't include these features then it's not a proper Java "application"
jar. That may mean that you didn't create it correctly, or NetBeans has
cocked up (technical term) the project properties (this does happen). If
this does happen the simplest alternative is to create a new Java
Application project and copy all your sources into it. Fixing it
manually requires dexterous manipulation of, IIRC, project.properties
and build-impl.xml. Creating a new project is simpler, quicker, and less
likely to bite you back in the future.
You don't need to futz with NB-specific files if you edit manifests yourself,
and also you should build from "build.xml", not IDE-specific artifacts.
--
Lew