【问题标题】:Jar file ADD DIRECTORY ENTRIES Eclipse option while exporting jarJar 文件 ADD DIRECTORY ENTRIES Eclipse 选项,同时导出 jar
【发布时间】:2012-10-26 02:00:15
【问题描述】:

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

实际上我遇到了从 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/company/project/

com/company/project/MyJavaFile.class

如果我错了,请纠正我。

【问题讨论】:

    标签: java eclipse spring jakarta-ee jar


    【解决方案1】:

    表格文件JAR File Exporter

    添加目录条目:为每个目录添加一个条目到 JAR 文件中,即使该目录只包含子目录。

    【讨论】:

    • 是的,这就是我所知道的,但是当您比较一个选中和未选中添加目录选项的 jar 时,同样应该反映出来。我发现没有区别,我缺少什么?
    【解决方案2】:

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

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

    【讨论】:

    • 只是对未来的说明:mavengradledefault 执行此操作。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多