0
我有建立類到bin目錄的項目。我有額外的ANT
構建器,它將bin目錄的內容放到proj_hug.jar
。但bin文件夾包含我不會包含到JAR中的*.properties
文件。如何解決這個問題呢?導出到JAR,不包括一些額外的文件
Ant腳本:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project proj with libraries in sub-folder">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required -->
<target name="create_run_jar">
<jar destfile="C:/Projects/proj/JAR/proj_hug.jar">
<manifest>
<attribute name="Main-Class" value="hug.projhugHandler"/>
<attribute name="Class-Path" value=". proj_hug_lib/RXTXcomm.jar proj_hug_lib/log4j.jar proj_hug_lib/hug.jar proj_hug_lib/commons-codec-1.5.jar"/>
</manifest>
<fileset dir="C:/Projects/proj/bin">
</fileset>
</jar>
<delete dir="C:/Projects/proj/JAR/proj_hug_lib"/>
<mkdir dir="C:/Projects/proj/JAR/proj_hug_lib"/>
<copy file="C:/Projects/proj/RXTXcomm.jar" todir="C:/Projects/proj/JAR/proj_hug_lib"/>
<copy file="C:/Projects/proj/log4j.jar" todir="C:/Projects/proj/JAR/proj_hug_lib"/>
<copy file="C:/Projects/proj/hug.jar" todir="C:/Projects/proj/JAR/proj_hug_lib"/>
<copy file="C:/Projects/proj/commons-codec-1.5.jar" todir="C:/Projects/proj/JAR/proj_hug_lib"/>
</target>
</project>
我<fileset>
增加了,如:
<fileset dir="C:/Projects/proj/bin">
<include name="*.class"/>
<exclude name="*.properties*"/>
</fileset>
但是,這使事情變得更糟 - 無類文件和無屬性文件都在我的JAR。
UPD:
如果我有這樣的:
<fileset dir="C:/Projects/proj/bin">
<include name="**/*.class"/>
<exclude name="**/*.properties*"/>
</fileset>
我有jar文件只META-INF。
如果我不喜歡:
<fileset dir="C:/Projects/proj/bin">
<include name="**/*.class"/>
</fileset>
我有jar文件只META-INF。
如果我不喜歡:
<fileset dir="C:/Projects/proj/bin">
<exclude name="**/*.properties*"/>
</fileset>
我有空封裝directoryes和jar文件的META-INF。
不幸的是這個簡化版,解決問題。我已更新說明,並附有測試結果 – vico
javac任務已丟失。請添加javac任務以將代碼編譯到C:/ Projects/proj/bin目錄中。 – RaviH
你應該把一些任務分解成單獨的目標,比如clean,compile和jar。它使這個過程更容易構建和重用潛在的目標。 – mikemil