2016-10-20 3 views
0

Ich habe eine Ant-TaskAnt jar Aufgabe umfasst eine einzige Klasse-Datei nur

<target name="create_jar" depends="compile">   
    <jar destfile="build/temp/MyClassJar.jar" basedir="build/classes/com/company/utils"> 
     <manifest> 
      <attribute name="Main-Class" value="com.company.utils.MyClass"/> 
     </manifest> 
    </jar> 
</target> 

die Ordner build/Klassen mehrere Pakete und Klassendateien hat aber in meinem Glas ich will nur nur zwei Dateien MyClass.class enthalten und MyClass $ 1.class, die sich im Ordner com/company/utils befinden.

Wenn ich base-dir als com/company/utils habe, wenn ich die Aufgabe ausführen, hat das Glas nicht die Paketordner in like com/company/utils wird nicht in der JAR-Datei erstellt, aber wenn ich meine Basis ändern- Verzeichnis erstellen/Klassen, dann werden alle Dateien einbezogen. was tun, um dies zu beheben.

Antwort

1

Die Jar Aufgabe nimmt eine verschachtelte fileset, so können Sie dies tun:

<jar destfile="build/temp/MyClassJar.jar"> 
    <fileset dir="build/classes" includes="**/MyClass*.class" /> 
    <manifest> 
     <attribute name="Main-Class" value="com.company.utils.MyClass"/> 
    </manifest> 
</jar> 
Verwandte Themen