2013-05-25 15 views
5

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?

Odpowiedz

0

Występuje ten sam problem, oto moje rozwiązanie: W swoim skrypcie Pythona dodaj ścieżkę Lib do ścieżki systemowej. Poniżej znajduje się kod:

import sys 
libPath="C:\\jython2.7b1\\Lib" 
sys.path.append(libPath) 
+0

Jak to pomaga, jeśli folder 'Lib' znajduje się w pliku JAR? – Matthias

Powiązane problemy