KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
In the build file below, the jar target refers to the jar.class.path property for the manifest class-path. The compile target refers to project.class.path There is redundancy here, because jar.class.path and project.class.path are very similar. They must be both updated when libraries are added, which can be a pain if the list of libraries gets very long. Is there a better way? Any solution must be cross-platform and always use relative paths. Edit: It should generate the JAR classpath from a fileset and not the other way around, so I can use wildcards to e.g. include all JAR files in a directory. <?xml version="1.0"?> <project name="Higgins" default="jar" basedir="."> <property name="jar.class.path" value="lib/forms-1.2.0.jar lib/BrowserLauncher.jar"/> <path id="project.class.path"> <pathelement location="build"/> <fileset dir="lib"> <include name="forms-1.2.0.jar"/> <include name="BrowserLauncher.jar"/> </fileset> </path> <target name="prepare"> <mkdir dir="build"/> </target> <target name="compile" depends="prepare" description="Compile core sources"> <javac srcdir="src" includes="**" destdir="build" debug="true" source="1.5"> <classpath refid="project.class.path"/> </javac> </target> <target name="jar" depends="compile" description="Generates executable jar file"> <jar jarfile="higgins.jar"> <manifest> <attribute name="Main-Class" value="nl.helixsoft.higgins.Main"/> <attribute name="Class-Path" value="${jar.class.path}"/> </manifest> <fileset dir="build" includes="**/*.class"/> <fileset dir="src" includes="**/*.
Tags (comma-separated)
Save Edits
Cancel