getResourceAsStream () отлично работает в eclipse, но не работает в jar - PullRequest
0 голосов
/ 28 августа 2018

Мой (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

1 Ответ

0 голосов
/ 28 августа 2018

File.separator в Windows - \\, поэтому он не будет работать при попытке получить ресурс в jar-файле. Использование "/" будет работать как в затмении, так и в jar.

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