2014-09-10 58 views
3

我的問題類似於ImportErrorCmd,但我使用Windows並試圖在PyDev Eclipse中運行此DAMN。我知道如何讓它在cmd上運行,但不能在Eclipse中運行。在Eclipse中嘗試使用Jython調用用戶定義的Java方法時PyDev:ImportError

問題

無論如何,所以在這裏,我試圖讓這個例子@ImportErrorSimpleExample工作(該解決方案有沒有爲我工作)。在Eclipse中,我做了這個代碼的Java項目:(鏈接 - >C:\用戶\ compski \工作區\測試的\ src \測試\ Greeter.java

package test; 

public class Greeter { 

private String msg; 

    public Greeter() { 
    msg = "Hello, "; 
    } 

    public void greet(String name) { 
    System.out.println(msg + name); 
    } 

} 

在Eclipse還,我做了一個項目的PyDev與被叫Jython代碼me.py:(鏈接 - >C:\用戶\ compski \工作空間\ Jython的\測試\ me.py

from test import Greeter 

g = Greeter() 
g.greet("yours truly") 

試圖修復 「導入錯誤」,但失敗:

1)我嘗試將我的java代碼添加到PYTHONPATH(C:\ Users \ compski \ workspace \ test \ src \ test \ Greeter.java和C:\ Users \ compski \ workspace \ test \ src \ test)中, >Proposed Solution 1。仍然沒有工作

2)我將我的Java項目設置爲PyDev項目(右鍵點擊Java項目 - > PyDev - >設置爲Pydev項目,但我沒有任何「bin文件夾」。 Java項目包含Greeter.java到我的PyDev項目中 - >Proposed solution 2仍然沒有工作

3)來自SO聊天的人告訴我,我需要「你需要添加目錄,罐子從中java將尋找類,你給它c:\ foo \ bar \ bazand導入zyxxy.Frobnicator然後它尋找c:\ foo \ bar \ baz \ xyzzy \ Frobnicator「但我不認爲我完全理解他的意思是這聽起來像我在做什麼1)

4)......你的回答是?

+0

你說它可以在CLI上使用;你在那裏做什麼? – OldTinfoil 2014-09-10 14:32:47

+0

在CMD提示符上? ..我基本上在cmd提示符編譯java文件(使用javac Greeter.java)。然後,導航到與Greeter.class相同的目錄,我運行Jython(在cmd上)。導入並調用Java方法非常好 – compski 2014-09-10 14:36:34

+0

您使用了什麼命令? Jython是如何安裝的?它是獨立的Jython jar嗎?或者你有沒有將Jython安裝到你的系統? – OldTinfoil 2014-09-10 14:47:32

回答

1

好了,現在我們這裏有真正的文件名:鑑於C:\Users\compski\workspace\test\src\testPYTHONPATH,你做from test import Greeter後,它會試圖找到在PYTHONPATH的每個條目的Greeter.class;那就是試圖找到C:\Users\compski\workspace\test\src\test\test\Greeter.classC:\Users\compski\workspace\test\src\test\Greeter.java\test\Greeter.class,這兩者都不存在。

相反,在Eclipse中,如果我沒記錯的話,你可以在項目添加到PYTHONPATH,這可能是優選的IDE中的測試 - 從而只需添加您test項目作爲這樣的PYTHONPATH。另一種選擇是添加發現test\Greeter.class的目錄;也就是在Eclipse中,這應該是C:\Users\compski\workspace\test\bin - 默認情況下,Java自然項目將文件從src編譯到項目中的(隱藏)bin文件夾。

最後,如果錯誤是關於在test找不到的GreeterClass,請注意test是內置python模塊名稱(儘管IIRC Jython沒有該名稱的模塊)。

+0

+1解決它的關鍵是'C:\ Users \ compski \ workspace \ test \ target \ bin'(愚蠢的目標文件夾隱藏bin)謝謝! – compski 2014-09-12 07:36:25

相關問題