2

我更新了我的 ant build.xml 文件以包含一个新文件和一个新文件夹。创建 .jar 后,我通过“解压缩\提取”检查它们是否存在于 jar 中,并且它们在那里。

但是在执行 .jar 时,文件夹或文件都不会被提取。

我错过了一步吗?

4

4 回答 4

4

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

于 2008-09-17T22:21:40.787 回答
2

您的应用程序应该能够直接从 jar 中使用该文件,而无需提取它。还是你的意思是别的?

于 2008-09-17T22:17:36.647 回答
1

您是否正在做一些特定的事情来提取 jar 文件?我问是因为执行它们时通常不会提取 jar 文件。

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

于 2008-09-17T22:18:35.990 回答
0

如果您使用One-JAR包装您的应用程序,您可以在 Manifest 文件中指定一个属性来提取您想要的文件(请参阅One-Jar-Expand清单属性)。

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

于 2008-12-08T18:56:29.257 回答