【问题标题】:executable JAR file not showing resources可执行 JAR 文件未显示资源
【发布时间】:2013-03-26 21:09:25
【问题描述】:

我使用 eclipse 创建了一个可执行的 JAR 文件。我在项目文件夹中有资源 框架打开时不会出现..我的意思是当我双击 JAR 文件时。更多的 所以,在我尝试删除 JAR 文件后,我收到一条警告,指出 JAR 文件正在 Java Se平台。除了使用资源加载器类之外,我怎样才能消除这个问题?

【问题讨论】:

  • 如何加载资源?资源是在项目文件夹还是在src目录?
  • 资源在项目文件夹中。
  • 您应该将应该包含在 Jar 中的资源放入 src 文件夹中。这允许您通过 getResource(..) 加载。
  • 源文件夹我希望你的意思是我的工作区中包含我的类文件的文件夹....它在项目文件夹中..当我在 Eclipse 中运行它时加载所有资源但不是在我之后创建可运行的 JAR 文件.. 我还发现将可执行 JAR 文件和资源放入项目文件夹以外的同一文件夹中,它会加载资源...但我不明白为什么它没有包含资源的存档文件..

标签: java jar


【解决方案1】:

有时当我们运行一个 jar 文件时,资源被 jvm 使用并且它们没有被释放,因此我们无法删除该 jar 文件。因此尝试从任务管理器中终止进程,以便您可以删除该 jar 文件。对我来说,杀死 explorer.exe 有效。尝试杀死该进程,然后尝试删除 jar 文件。

【讨论】:

    【解决方案2】:

    如果您的资源在源文件夹中,请使用 ClassLoader 获取 InputStream。

    ClassLoader.getResourceAsStream(String name);
    

    在删除 JAR 文件之前关闭您的应用程序。或者使用以下代码显式退出您的应用程序。

    System.exit(0);
    

    【讨论】:

    • 我将框架的默认关闭操作设置为 JFrame.exit_on_ close 但在我制作可执行 JAR 文件后它不会关闭
    【解决方案3】:

    可能根本没有导出资源。有时,您需要勾选每个资源名称的复选框,然后在使用 Eclipse 导出它时点击完成。

    另外,请检查导出过程完成时是否没有警告。

    从任务管理器中杀死所有java.exe和javaw.exe进程,然后尝试删除。

    【讨论】:

    • 我尝试用任务管理器关闭java.exe,然后尝试删除它但它没有删除..
    猜你喜欢
    • 1970-01-01
    • 2016-09-15
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    相关资源
    最近更新 更多