Hallo liebe XML Luets,
zu Anfang gleich ma, ich bin blutiger Anfänger was XML angeht. Ich habe Stunden gebraucht um folgendes Skript zu schreiben...
[XML]<?xml version="1.0"?>
<project name="make jar" default="jarbuilder"> <!-- default gibt das "default" target an -->
<description>
Kompiliert den aktuellen Stand des Projekts und verpackt ihn in ein .jar-Archiv
</description>
<target name="jarbuilder">
<jar destfile="maxi6.jar" basedir="bin" excludes="*.html,*.applet, *.jbx, *.MF">
<manifest>
<attribute name="Main-Class" value="Run"/>
<attribute name="Trusted-Only" value="true"/>
<attribute name="Permissions" value="all-permissions"/>
<attribute name="Application-Name" value="Paul Maxi6"/>
</manifest>
</jar>
</target>
</project>[/XML]
wie die meisten von euch mit ein paar Blicken erkennen werden, baut mir das Skript eine .jar Datei aus allen Dateien im <projectlocation>\bin Verzeichnis zusammen, und erstellt sogleich eine MANIFEST.MF Datei.
Was ich nun nach einigen Stunden recherche und vergeblichen Versuchen nicht zum laufen bekommen hab ist folgendes...
Dieses Ant Skript soll mir die Referenced Libraries die im Build Path angegeben sind, mit in die .jar packen. Damit diese auch wirklich ausführbar ist, denn sonst funktioniert diese teilweise oder gar nicht.
Was ich schon ausprobiert hab, und was auch sehr vielversprechend aussieht ist folgendes:
Die .classpath meines Projekts sieht so aus:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="C:/Program Files (x86)/Java/jcifs_1.2.25/jcifs-1.2.25.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_51"/>
<classpathentry kind="output" path="bin"/>
</classpath>[/XML]
der Verfasser eines Posts fügte hinzu
Als Lösung dieses Problems hat jemand folgendes vorgeschlagen:
[XML]<xmlproperty file=".classpath" collapseAttributes="true" delimiter=";" />[/XML]
[XML]<path id="eclipse.classpath">
<pathelement path="${classpath.classpathentry.path}"/>
</path>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${build}" updatedProperty="compiled">
<classpath refid="eclipse.classpath"/>
</javac>
</target>[/XML]
Ich verstehe leider nicht was die letzten beiden Code Schnipsel machen, desweiteren trat bei den meisten Versuchen dieser Fehler auf:
natürlich nicht immer mit "xmlproperty", aber eben "jar doesn't support the nested .... element"
Ich wäre echt happy wenn mir jemand weiterhelfen kann.
LG proto :toll:
zu Anfang gleich ma, ich bin blutiger Anfänger was XML angeht. Ich habe Stunden gebraucht um folgendes Skript zu schreiben...
[XML]<?xml version="1.0"?>
<project name="make jar" default="jarbuilder"> <!-- default gibt das "default" target an -->
<description>
Kompiliert den aktuellen Stand des Projekts und verpackt ihn in ein .jar-Archiv
</description>
<target name="jarbuilder">
<jar destfile="maxi6.jar" basedir="bin" excludes="*.html,*.applet, *.jbx, *.MF">
<manifest>
<attribute name="Main-Class" value="Run"/>
<attribute name="Trusted-Only" value="true"/>
<attribute name="Permissions" value="all-permissions"/>
<attribute name="Application-Name" value="Paul Maxi6"/>
</manifest>
</jar>
</target>
</project>[/XML]
wie die meisten von euch mit ein paar Blicken erkennen werden, baut mir das Skript eine .jar Datei aus allen Dateien im <projectlocation>\bin Verzeichnis zusammen, und erstellt sogleich eine MANIFEST.MF Datei.
Was ich nun nach einigen Stunden recherche und vergeblichen Versuchen nicht zum laufen bekommen hab ist folgendes...
Dieses Ant Skript soll mir die Referenced Libraries die im Build Path angegeben sind, mit in die .jar packen. Damit diese auch wirklich ausführbar ist, denn sonst funktioniert diese teilweise oder gar nicht.
Was ich schon ausprobiert hab, und was auch sehr vielversprechend aussieht ist folgendes:
Die .classpath meines Projekts sieht so aus:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="C:/Program Files (x86)/Java/jcifs_1.2.25/jcifs-1.2.25.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_51"/>
<classpathentry kind="output" path="bin"/>
</classpath>[/XML]
der Verfasser eines Posts fügte hinzu
Code:
You could use ant to parse that file looking for these classpathentry elements with kind lib.
Als Lösung dieses Problems hat jemand folgendes vorgeschlagen:
Code:
Use the xmlproperty task to read the .classpath into property values.
Code:
Then set that value in the path
<pathelement path="${classpath.classpathentry.path}"/>
</path>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${build}" updatedProperty="compiled">
<classpath refid="eclipse.classpath"/>
</javac>
</target>[/XML]
Ich verstehe leider nicht was die letzten beiden Code Schnipsel machen, desweiteren trat bei den meisten Versuchen dieser Fehler auf:
Code:
\build.xml:9: jar doesn't support the nested "xmlproperty" element.
Ich wäre echt happy wenn mir jemand weiterhelfen kann.
LG proto :toll: