Zaimplementowałem aplikację Java, która zawiera Jython do uruchamiania skryptów w języku Python. Kiedy uruchomię tę aplikację z IDE (Eclipse lub IDEA), wtedy wszystko działa poprawnie, skrypty Pythona są przetwarzane poprawnie.ImportError standardowych modułów Pythona z Jythonem (w pliku JAR)
Jednak, kiedy spakować wszystko do pliku JAR (być zwolniony), w tym pliku jython.jar
, a następnie pojawia się następujący błąd tak szybko, jak aplikacja Java próbuje uruchomić pierwszy skrypt Pythona:
ImportError: No module named os
Wygląda więc na to, że nie znaleziono folderu Lib
ze wszystkimi standardowymi modułami Python. Sprawdziłem plik jython.jar
, który jest zawarty w pliku JAR aplikacji Java i poprawnie zawiera folder Lib
. W rzeczywistości jest to ten sam plik jython.jar
, który jest również używany podczas uruchamiania aplikacji z IDE, gdzie działa.
Wiem, że można określić parametr Paramter -Dpython.path
, ale nie wiem, co ustawić tutaj. Jak mogę się odwołać do folderu Lib
znajdującego się w pliku jython.jar
znajdującym się w pliku JAR aplikacji głównej?
Jak to pomaga, jeśli folder 'Lib' znajduje się w pliku JAR? – Matthias