我想在我的ant build.xml中包含一个jar文件(ant-contrib.jar)。我怎么能做到这一点,而不解压缩压缩文件。我已经尝试使用jarURLConnect.
<property url="jar:file:/D:/testing.zip!/testing/ant-contrib.jar" />
但是这给了我一个
. lang。
如果我将"ant-contrib.jar"替换为"test. jar",则不会出现错误。
属性"文件。有谁能帮帮我吗
property
标记用于包含属性,这些属性将位于属性文件中。jar文件不是属性文件。属性文档写得很清楚。
您需要解压缩文件以便将其添加到类路径中,然后实际将其添加到类路径中:请参阅类路径结构文档。但它不只是一个属性。
检查解压缩任务
尝试用"zip"代替"jar":
<property url="zip:file:/D:/testing.zip!/testing/ant-contrib.jar" />
不完全确定您在做什么,但是url总是有两个正斜杠作为分隔符。例如,在Subversion中,您可以执行file://D:/testing.zip!/testing/ant-contrib.jar
。
现在<property>
任务中的URL规范应该指向javaspec属性文件,所以我认为jar将不起作用。
我可以告诉你的是,Java是这样编写的,它可以读取zip和jar中的文件,而不需要先解压缩它们。在Java中,如果将testing.zip
解压缩到一个名为testing.zip
的目录中,并从那里访问文件,或者将其保存为zip文件,应该没有什么区别。您应该能够将它包含在路径名中(没有感叹号):
<path id="classpath>
<pathelement path="D:/testing.zip/testing/ant-contrib.jar"/>
<yadda, yadda, yadda/>
</path>
应该可以。
您可以尝试将test .zip解压缩到同名目录中,看看是否可以访问ant-contrib.jar
中的文件。然后,试着压缩test .zip,看看是否有什么不同。不应该有。