2015-02-24 61 views
0

我正在使用zipgroupfileset將lib文件夾中的所有jar包括在我的可執行應用程序jar文件中。如何使用ANT構建jar文件時設置類路徑順序

<zipgroupfileset dir="${lib.dir}" /> 

罐子必須包含在一些默認的順序。我想改變這個默認順序。請指導我。

爲什麼? 我的java桌面應用程序使用許多包含在類路徑中的第三方jar。當我通過eclipse運行我的代碼時,它工作正常。但是當我使用ANT構建jar文件時,它無法按預期工作。我相信它和classpath中的jar序列有關,就像我在eclipse中改變jar命令一樣,它也會在那裏失敗。

注:我使用eclipse kepler,java 7,ant 1.8。

+0

請指導我。 – amit 2015-02-25 06:40:07

回答

0

最後我得到了解決方案。我修改了我的ANT文件後生成了Jar。現在,我的ANT構建包含明確在類路徑中的第三方API,這是解決方案的關鍵。

<property name="lib.dir" value="lib" /> 

<manifestclasspath property="jar.classpath" jarfile="${lib.dir}/*.jar"> 
    <classpath refid="project.class.path"/> 
</manifestclasspath> 

<jar destfile="${jar.dir}/${jar.name}"> 
     <fileset dir="${class.root}" includes="**/*.*" /> 
     <manifest> 
       <attribute name="Main-Class" value="${Main-Class}" /> 
       <attribute name="Class-Path" value="${jar.classpath}" /> 
     </manifest> 
</jar> 

以前我曾在ANT類路徑條目,如下所示:

<attribute name="Class-Path" value="." /> 

讓我知道,如果有人想要更多的澄清。