我的代码被部署为JAR文件。 JAR包含一个目录lib
,其中包含我的代码所需的许多第三方JAR。我已使用Ant通过classpath
将这些添加到MANIFEST.MF
。
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 20.5-b03 (Sun Microsystems Inc.)
Main-Class: com.package.Class
Class-Path: ../lib/c3p0-0.9.1.2.jar ../lib/dbunit-2.4.8.jar ../lib/gua
va-10.0.1.jar ../lib/hsqldb.jar ../lib/javax.jms.jar ../lib/log4j-1.2
.16.jar ../lib/mockito-all-1.9.0.jar ../lib/ojdbc14.jar ../lib/slf4j-
api-1.6.4.jar ../lib/slf4j-log4j12-1.6.4.jar ../lib/xmlunit-1.3.jar
还有一个queries.properties
文件位于JAR的根目录中。
还需要两个属性文件。我希望这些驻留在与JAR文件相同的目录中,并使代码能够找到它们。我相信代码能够找到这些属性文件,它们需要在classpath
中。因此,我需要将JAR文件的目录添加到classpath
。
首先,这是正确的方法,我应该使用另一种方法来定位属性文件吗?
如果这是正确的,我如何使用Ant将JAR的当前目录添加到MANIFEST.MF
中的类路径?我使用lib
Ant任务将classpath
目录中的JAR添加到manifestclasspath
。
答案 0 :(得分:5)
您是否尝试将.
添加为当前目录的参考?
<jar jarfile="dummy.jar">
<manifest>
<attribute name="Main-Class" value="com.package.Class"/>
<attribute name="Class-Path" value=". ${jar.class.path}"/>
</manifest>
</jar>