运行时未从.jar文件中提取的文件

时间:2008-09-17 22:14:40

标签: java ant build jar

我已更新我的ant build.xml文件以包含新文件和新文件夹。创建.jar之后,我通过'unzip \ extract'检查它们是否存在于jar中,它们就在那里。

但是当执行.jar时,文件夹或文件都不会被解压缩。

我错过了一步吗?

4 个答案:

答案 0 :(得分:4)

查看getResourceAsStream。它将使您不必从jar文件中提取文件。除非那是你的目标。

答案 1 :(得分:2)

您的应用程序应该能够直接在jar中使用该文件,无需提取它。或者你的意思是其他什么?

答案 2 :(得分:0)

你是否正在做一些特定的东西来提取jar文件?我问,因为通常在执行时不会提取ja​​r文件。

如果运行“java -jar myJar.jar”或“java -cp myJar.jar com.example.MyMainClass”,则不会提取引用的jar文件。 Java将直接从jar文件加载您的类和资源,而不会将其解压缩。

答案 3 :(得分:0)

如果使用One-JAR打包应用程序,则可以在清单文件中指定一个属性以提取所需的文件(请参阅One-Jar-Expand清单属性)。

作为奖励,您还可以将任何依赖库与您的代码一起打包,创建一个可分发的jar。