ANT Jar erstellen
-
Hallo .Ich bin fast am verzweifeln. Ich möchte mit ANT eine jar Datei erstellen.
ICh habe verschiedene Ordner :
Die Main Funktion befindet sich unter src/threeWinsGame, des weiteren habe ich src/abstractGame. Außerdem habe ich ein Verzeichnis wo ich Bilder drin habe :
pictures/threeWins.So nun meine Frage wie schaffe ich das :
Habe folgendes Skript :<project> <property name="jarDestDir" value="bin"></property> <property name="srcThreeWinsDir" value="src/threeWinsGame"></property> <property name="binThreeWinsDir" value="bin/threeWinsGame"></property> <property name="jarThreeWinsFile" value="ThreeWins.jar"></property> <target name="compileThreeWins"> <javac srcdir="${srcThreeWinsDir}" destdir="${binThreeWinsDir}" ></javac> </target> <target name="createJarThreeWins"> <jar destfile="${jarDestDir}/${jarThreeWinsFile}" basedir="${binThreeWinsDir}"> <manifest> <attribute name="Main-Class" value="threeWinsGame"/> </manifest> </jar> </target> </project>
Er erzeugt damit auch eine jar Datei . Aber immer wenn ich sie ausführen will, bekomme ich die Information Main Klasse nicht gefunden.
Ich vermute mal das es am Manifest liegen muss. Weiß aber nicht wie es richtig ist.
-
In welchem Package ist denn die Main-Methode?
Du musst bei<manifest> <attribute name="Main-Class" value="threeWinsGame"/> </manifest>
bei der value das Pakage angeben.
-
Ich habe das jetzt mal so geändert.
<!-- compile three wins game --> <target name="compileThreeWinsGame" depends="compileAbstractGame"> <mkdir dir="${classThreeWins}"></mkdir> <javac srcdir="${srcThreeWins}" destdir="${classThreeWins}" includes="${srcAbstractGame}"/> </target> <!-- create jar three wins game --> <target name="jarThreeWinsGame" depends="compileThreeWinsGame"> <mkdir dir="${jarThreeWins}"></mkdir> <jar destfile="${jarThreeWins}\ThreeWins.jar" basedir="${classThreeWins}"> <manifest> <attribute name="Main-Class" value="threeWinsGame.ThreeWinsGameGui"/> </manifest> </jar> </target>
Allerdings ist das Problem das Gleiche. Die Klasse und auch das Package sind aber richtig