No lib folder and no class-path in manifest when compiling a NetBeans project on a machine which just has Ant

I am writing a Java application using NetBeans. As part of an automated build process, I need to be able to build the projects on a machine that does not have NetBeans installed. It has Ant, however.

For now, I am just creating a new Java Desktop Application, which uses Swing.

When I compile using NetBeans (or using Ant on the machine where NetBeans is installed), the manifest.mf file in the jar contains a class-path entry which is not present when installing on the other machine. Also, a lib folder is created with the two utility jars required for Swing.

There is a difference in the steps that Ant performs on each machine.

On NetBeans machine, -do-jar-with-libraries is executed.
On server, -do-jar-with-mainclass is executed.

This appears to be why the extra steps aren't being performed, so how do I get Ant to perform the correct steps?

I don't want to modify any files in the project, but I have had to create a .properties file outside the project anyway to specify libs.swing-app-framework.classpath and libs.CopyLibs.classpath, so if there is something simple I can add to this file that would solve the problem, that would be great.

Something to do with mkdist.available?

TIA!
LVL 1
scuzzieAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
scuzzieConnect With a Mentor Author Commented:
It seems that once I had specified libs.CopyLibs.classpath in an additional build.properties file, this was enough to switch conditions and cause the correct path to run.

I just had to specify the path on the ant command-line:
ant -propertyfile ../build.properties jar

worked for me.
0
 
wwnosalCommented:
Try to include attached snippet somewhere in -do-jar-with-mainclass target before jar is actually created.
<manifest>
  <attribute name="Main-Class" value="${main.class}"/>
  <attribute name="Class-Path" value="${jar.classpath}"/>
</manifest>

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.