我已更新我的ant build.xml文件以包含新文件和新文件夹。创建.jar之后,我通过'unzip \ extract'检查它们是否存在于jar中,它们就在那里。
但是当执行.jar时,文件夹或文件都不会被解压缩。
我错过了一步吗?
答案 0 :(得分:4)
查看getResourceAsStream。它将使您不必从jar文件中提取文件。除非那是你的目标。
答案 1 :(得分:2)
您的应用程序应该能够直接在jar中使用该文件,无需提取它。或者你的意思是其他什么?
答案 2 :(得分:0)
你是否正在做一些特定的东西来提取jar文件?我问,因为通常在执行时不会提取jar文件。
如果运行“java -jar myJar.jar”或“java -cp myJar.jar com.example.MyMainClass”,则不会提取引用的jar文件。 Java将直接从jar文件加载您的类和资源,而不会将其解压缩。
答案 3 :(得分:0)
如果使用One-JAR打包应用程序,则可以在清单文件中指定一个属性以提取所需的文件(请参阅One-Jar-Expand清单属性)。
作为奖励,您还可以将任何依赖库与您的代码一起打包,创建一个可分发的jar。