Jar-Datei mit ant erstellen und zusätzliche Jars einbinden

Status
Nicht offen für weitere Antworten.

ak

Bekanntes Mitglied
Hallo Leute,

ich habe in eclipse (ant-Plugin) eine build.xml erstellt welche mir aus meinem Projekt ein JAR erstellen soll. hier mal der Code:
Code:
<project default="createJar">
   <target name="createJar">
      <jar destfile="start.jar" basedir="bin" update="yes">
         <manifest>
	     <attribute name="Main-Class" value="de.ak.geburtstag.StartKlasse"/>	
         </manifest>
      </jar>
   </target>
</project>

Soweit funktioniert das auch. Nur ist es so, dass ich im Ordner: "\src\de\ak\geburtstag"
zwei jar-Dateien namens "jcalendar.jar" und "firebirdsql-full.jar" habe welche vom Programm benötig werden.
Wie kann ich diese beiden Jar's in meine JAR-Datei einbinden?
Ich möchte die zwei genannten JAR's nicht entpacken, sondern so einbinden.

P.S. Könnt ihr mir auch ein gutes Tutorial empfehlen?[/quote]
 

nollario

Bekanntes Mitglied
du musst einen manifest eintrag anlegen, in dem du die libraries referenzierst:

Code:
            <manifest>
                <attribute name="Main-Class" value="de.forum.MainClass"/>
                <attribute name="Class-Path" value="${app.cp}"/>
            </manifest>

gutes tutorial kenne ich nicht, nutze immer die apache seite, um die verschiedenen tasks etc nachzuschlagen. sind ja auch mit beispielen gefüllt:

http://ant.apache.org/
 

ak

Bekanntes Mitglied
Hallo nollario,

könntest du mir mal bitte ein Beispiel nennen wie ich die libraries referenzieren kann?
 

nollario

Bekanntes Mitglied
nimm das beispiel oben... mit dem manifest... dazu könntest du dann den angegebenen classpath wie folgt als property definieren (muss natürlich vor dem manifest task geschehen):

Code:
    <property name="app.cp" value="lib/jconn2.jar lib/log4j.jar ."/>

nun steh im classpath eine referenz auf die jconn und log4j library, wenn dein jar file gestartet wird
 

ak

Bekanntes Mitglied
Hallo nollario,

danke für deine Hilfe, es klappt jetzt alles. Hier mal der komplette Code:

Code:
<project default="createJar">
   <target name="createJar">
   	<property name="app.cp" value="lib/firebirdsql-full.jar lib/jcalendar.jar ."/>   
   	<jar destfile="start.jar" basedir="bin" update="yes">
      	<manifest>
	       <attribute name="Main-Class" value="de.ak.geburtstag.StartKlasse"/>
           <attribute name="Class-Path" value="${app.cp}"/>	
         </manifest>
      </jar>
   </target>
</project>

Meine jar-Datei "start.jar" liegt in einem beliebigen Verzeichnis wobei in diesem Verzeichnis ein Unterverzeichnis namens
"lib" sein muss. Da liegen dann die beiden verwendeten Jar-Dateien.

Gruß
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben