【问题标题】:getResourceAsStream() works fine in eclipse but fails in jargetResourceAsStream() 在 Eclipse 中工作正常,但在 jar 中失败
【发布时间】:2019-02-03 09:16:37
【问题描述】:

我的(maven)项目如下所示:

+ scr/main
++ java
+++ myPackage
++++ MyClass.java
++ resources
+++ python
++++ PythonScript.py

我现在尝试像这样将 py 脚本加载到我的 java 类中:

String s = File.separator;
ClassLoader cl = myClass.getClass().getClassLoader();
cl.getResourceAsStream(s + "python" + s + "PythonScript.py"));

在 Eclipse 中执行时效果很好。 但是,当我尝试在 jar 文件中执行此操作时,我得到的只是 NULL...

我的 jar 文件如下所示:

+ MyJar.jar
++ python
+++ PythonScript.py

【问题讨论】:

  • 你是如何包装罐子的? jar 中没有源文件吗?

标签: java eclipse maven jar classloader


【解决方案1】:

Windows 中的File.separator\\,因此在尝试获取 jar 文件中的资源时它将不起作用。使用 "/" 在 eclipse 和 jar 中都可以使用。

String s = "/"; //File.separator;
ClassLoader cl = myClass.getClass().getClassLoader();
cl.getResourceAsStream("python" + s + "PythonScript.py"));

【讨论】:

    猜你喜欢
    • 2013-08-06
    • 2018-09-24
    • 2013-07-15
    • 2013-10-29
    • 2021-04-22
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 2013-08-26
    相关资源
    最近更新 更多