我的(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
答案 0 :(得分:2)
File.separator
是\\
,因此在尝试从jar文件中获取资源时它将无法工作。使用"/"
既可以在Eclipse中使用,也可以在jar中使用。
String s = "/"; //File.separator;
ClassLoader cl = myClass.getClass().getClassLoader();
cl.getResourceAsStream("python" + s + "PythonScript.py"));