Sie können eine build.xml verwenden, um die JAR-Datei für Sie zu erstellen.
Dann führen Sie einfach die Build.xml als Ant-Task.
Siehe
Wenn Sie die build.xml Sie Projekt bauen Eclipse automatisch jedes Mal ausgeführt wird, können Sie es auf die Builders Liste hinzuzufügen.
Siehe
Unten finden Sie eine Probe build.xml ist, wo ein benutzerdefiniertes Manifest verwendet wird:
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." name="Example" default="run_build">
<property name="guiJar" value="../../Library/<jar-name>.jar"></property>
<target name="run_build" depends="delete_old_jar,create_dirs,create_manifest,copy_all_class_files,create_jar,delete_temp_dirs">
</target>
<target name="delete_old_jar">
<delete file="${guiJar}">
</delete>
</target>
<target name="create_dirs">
<mkdir dir="jar_temp" />
<mkdir dir="jar_temp/META-INF" />
</target>
<target name="delete_temp_dirs">
<delete dir="jar_temp">
</delete>
</target>
<target name="create_manifest">
<manifest file="jar_temp/META-INF/MANIFEST.MF">
<attribute name="Manifest-Version" value="1.0" />
<attribute name="Version" value="1.0.0" />
<attribute name="Company" value="Value" />
<attribute name="Project" value="Value" />
<attribute name="Java-Version" value="${java.version}" />
<attribute name="Class-Path" value="test.jar" />
<attribute name="Main-Class" value="com.Main" />
</manifest>
</target>
<target name="create_jar">
<jar destfile="${guiJar}" manifest="jar_temp/META-INF/MANIFEST.MF" basedir="jar_temp">
</jar>
</target>
<target name="copy_all_class_files">
<copy todir="jar_temp">
<fileset dir="classes">
<include name="*/**" />
</fileset>
</copy>
</target>
</project>
Wie geschrieben, das ist genau das, was ich getan habe. Ich benutze Eclipse 3.3.2. – Sven
Nun, diese Option funktioniert (in Eclipse Luna). Stellen Sie nur sicher, dass Sie nach der letzten manuell hinzugefügten Option in Ihrer benutzerdefinierten MANIFEST.MF eine feste Rückgabe hinzufügen, da der Parser sonst die letzte Zeile nicht bemerkt. In meinem Fall sah es so aus, als ob die Option nicht ganz funktionierte – DataHacker