Jar文件ADD DIRECTORY ENTRIES导出jar时的Eclipse选项

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

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

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

在这里,我面临的问题是bean没有获得Autowired并且开始知道问题是,当我使用Eclipse导出ABC项目的jar文件时,我没有选择“ADD DIRECTORY ENTRIES”复选框,后来我做了所有工作。

只是通过在jar文件中选中此框来查看所做的更改,以便全部工作,

所以我创建了2个jar文件,其中一个选中了“ADD DIRECTORY ENTRIES”,另一个未经检查,然后我使用超比较比较了两个jar,发现没有任何区别。

有人可以解释一下“ADD DIRECTORY ENTRIES”究竟是什么吗?

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

COM /公司/

COM /公司/项目/

COM /公司/项目/ MyJavaFile.class

如果我错了,请纠正我。

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

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

表单Doc JAR文件导出器

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

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