2012-11-18 44 views
1

我有一個試圖加載一些Java庫(特別是Axis2 Web服務)的python應用程序。當我通過PyDev Project Source Folders在Eclipse中添加必要的jar時,一切似乎都正常。但是,我希望能夠在運行時通過添加到sys.path來完成此操作,但之後我的應用程序似乎無法工作。Jython:添加到sys.path和傳遞-D之間是否有區別?

在這兩種情況下,我都可以加載罐子,但是一定要有不同的結果。我的問題是,在運行時通過sys.pathsys.path.append()添加罐子與將-D傳遞給jython解釋器有什麼區別?

+0

您是否嘗試使用'sys.path'附加路徑並在Eclipse之外運行應用程序?也許它是Eclipse正在干涉路徑的事情。當你使用'-D'運行時以及使用'sys.path.append'添加路徑時,還要嘗試打印'sys.path'。 – Bakuriu

+0

@Bakuriu想通了,看到我的答案在下面 – trinth

回答

0

問題原來是Eclipse啓動Jython解釋器的方式的一個區別,而不是從命令行手動啓動Jython。在Eclipse運行配置窗格中,有一種方法可以查看用於運行應用程序的命令。煤礦是這樣的:

/usr/lib/jvm/java-7-openjdk-i386/bin/java 
    -classpath /usr/local/lib/jython2.5.3/jython.jar:... 
    org.python.util.jython 
    -Dpython.path=... 
    myScript.py 

(注:我添加了可讀性換行)

如此看來,Jython是從Java和Java類路徑必須被送入除路徑剛剛推出python路徑。

相關問題