簡體   English   中英

如何使用Ant構建jar文件時設置classpath順序?

[英]How to set classpath order while building jar file using Ant?

我正在使用zipgroupfileset從lib文件夾捆綁所有jar,以包含在我的可執行應用程序jar文件中。

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

罐子必須包含在某個默認順序中。 我想改變這個默認順序。

關於我為什么要這樣做的說明:我的Java桌面應用程序使用許多包含在類路徑中的第三方jar。 當我通過Eclipse運行我的代碼時它工作正常。 但是當我使用ANT構建jar文件時,它無法按預期工作。 我確信它與classpath中的jar序列有關,就像我在Eclipse中更改jar順序一樣,它也失敗了。

注意:我使用的是Eclipse Kepler,Java 7,Ant 1.8。

最后我得到了解決方案。 我在改變我的ANT文件后構建了Jar。 現在,我的ANT構建在classpath中明確包含第三方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="." />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM