7

我不知道我是否在问正确的问题,但想清除我的疑问。

实际上我遇到了从 jar 文件中引用类文件的场景。我的意思是说我有一个后端 java 项目说 ABC,其中包含 application-context.xml 文件。

现在我创建了 ABC 项目的 jar 文件并在一个基于 Web 的应用程序中使用。

在这里,我遇到了 bean 没有自动装配的问题,并且知道问题是,当我使用 Eclipse 导出 ABC 项目的 jar 文件时,我没有选择“添加目录条目”复选框,后来我做了所有工作。

只是为了通过在 jar 文件中选中此框来查看所做的更改,以便一切正常,

因此,我创建了 2 个 jar 文件,其中一个选中了“添加目录条目”,一个未选中,然后我使用 Beyond compare 比较了两个 jar,发现根本没有区别。

有人可以解释一下“添加目录条目”到底是做什么的吗?

我所知道的是它应该添加完整的结构而不是像 com/company/project/MyJavaFile.class 这样的单一路径

com/公司/

com/公司/项目/

com/company/project/MyJavaFile.class

如果我错了,请纠正我。

4

3 回答 3

7

如果需要使用 class.getResource() 方法获取 jar 文件中特定目录的 URI,则应在创建 jar 文件时启用“添加目录条目”。例如,您可能想要这样做的原因是为您的“资源”文件夹保存一个 URI。

如果您只使用 class.getResource() 来获取特定文件 [而不是目录] 的 URI,那么如果您关闭“添加目录条目”就可以了。

于 2013-03-11T16:27:41.893 回答
2

表单 Doc JAR 文件导出器

添加目录条目:将每个目录的条目添加到 JAR 文件中,即使该目录仅包含子目录。

于 2012-11-06T06:32:55.247 回答
1

如果您使用 7-zip 或类似文件查看 jar 文件,您可以看到选择“添加目录条目”时文件夹有一个“D”属性。当该选项不存在时,这些属性不存在。您的比较可能是比较 jar 文件中文件的内容,而不是查看 jar 文件属性。

于 2017-11-19T15:10:35.250 回答