我有一个重要的任务
<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>
文件夹build/classes有多个包和类文件,但在我的jar中,我只想包含两个文件MyClass.class和MyClass$1.class,它们位于com/company/utils文件夹中。
如果我的base-dir为com/company/utils,当我运行任务时,jar没有像com/company/utils这样的包文件夹,而不是在jar文件中创建,但是如果我将base-dir更改为build/classes,那么所有的文件都被包含在内。
Jar任务接受一个嵌套的文件集,因此您可以这样做:
<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>