运行时未从.jar文件中提取文件
时间:2020-03-06 14:19:10 来源:igfitidea点击:
我已经更新了我的ant build.xml文件,以包括一个新文件和一个新文件夹。创建.jar后,我通过" unzip \ extract"检查它们是否存在于jar中,并且它们在那里。
但是在执行.jar时,文件夹或者文件都不会被提取。
我错过了一步吗?
解决方案
应用程序应该能够直接从jar中使用文件,而无需提取文件。还是我们还有其他意思?
我们是否正在执行提取jar文件的特定操作?我问,因为通常执行时不会提取jar文件。
如果运行" java -jar myJar.jar"或者" java -cp myJar.jar com.example.MyMainClass",则将不会提取所引用的jar文件。 Java将直接从jar文件加载类和资源,而无需将其提取。
查看getResourceAsStream。它使我们不必从jar文件中提取文件。除非那是目标。
如果使用One-JAR打包应用程序,则可以在清单文件中指定属性以提取所需的文件(请参阅One-Jar-Expand清单属性)。
另外,我们还可以将所有依赖库与代码一起包装,从而创建一个可分发的jar。