我製作了一個調用其他java類的java類,然後將其打印到屏幕上。我正在嘗試構建一個調用我的java類的python接口,運行其中的一個方法,並終止。我無法訪問我的方法。我已經使用了「import directory.directory2.myClass.java(和.jar和.class)這一行,我從原始代碼和.class文件中創建了.jar文件,這些都沒有工作。 sys.path.append指向java文件所在的目錄我是否需要將我的java類文件轉換爲python模塊?如果有,我該怎麼做?如何導入我在jython中創建的java類並調用方法
回答
Jython支持加載Java類,好像他們是Python模塊,它會搜索sys.path
目錄爲.class
文件。
首先,確保你的Java類已經編譯了javac
。
然後,執行sys.path.append(d)
,其中d
是包含該軟件包的目錄。因此,如果您的班級在頂部顯示package foo.bar;
,並且位於mydir/foo/bar/myclass.java
,那麼您必須在sys.path
(不是mydir
的其中一個子目錄)中有mydir
。
最後,通過類似from foo.bar import myclass
的方式導入課程。 Python和Java之間的名稱必須匹配!你將會從「[package] import [class]」中執行「。
您應該這樣做:
from directory.directory2 import myClass
myObject = myClass()
myObject.myMethod()
是.java文件.class文件或.py文件 – freedom1342 2012-01-27 21:57:34
我也遇到了一個錯誤,說「從directory.directory2導入myClass」ImportError:沒有名爲directory.directory2的模塊 – freedom1342 2012-01-27 22:09:56
這就是您應該使用的.py文件在CLASSPATH – 2012-01-28 13:26:46
- 1. 如何導入我創建的java類
- 2. 在jython中導入的類
- 3. 無法從Jython模塊導入Java類
- 4. 如何讓我的Jython腳本同步調用Java方法?
- 5. Java:我如何在靜態方法中創建對象並調用另一個類的方法?
- 6. 導入我的自定義類並調用它的方法?
- 7. Android:如何導入我創建的類?
- 8. 在Jython中調用java.lang.Class的方法
- 9. 我們如何創建一個Java類對象並在沒有scriptlet的JSP中調用它的方法?
- 10. 如何在我使用NSClassFromString動態創建的類中調用方法?
- 11. 如何在Java中動態創建方法調用
- 12. 如何從創建的類中使用創建類的方法?
- 13. 如何從我的Java類中的另一個方法調用我的方法?
- 14. 如何使用JLabel創建和調用類中的方法?
- 15. 如何從目標C中的導入類調用方法?
- 16. 如何從類方法中的導入模塊調用函數?
- 17. 我如何調用actionPerformed方法從另一個類在java中
- 18. 我們可以創建子類的對象並調用父類的方法嗎?
- 19. Java - 我如何創建一個不同的類的數組,並遍歷它調用它的toString方法?
- 20. Jython - 創建類實例和從Python類執行方法的正確方法
- 21. 如何在python中創建類方法?
- 22. Python 2.7 - 如何從導入的模塊調用類方法? 「自我」的說法
- 23. 調用子類的方法,在Java中
- 24. 創建類的新實例,然後調用arg的方法Java
- 25. 在Jython中導入jar API
- 26. 導入錯誤:在Jython中
- 27. 如何在Python中動態類創建後調用父類的__init__方法?
- 28. 在Java中創建自定義註釋,並在調用方法時使用它
- 29. 如何從嵌入Jython中調用java函數?
- 30. C++ Python導入類;調用方法
它仍然在說沒有模塊名爲directory.directory2,我確定路徑是設置爲我有我的jython文件的目錄,我甚至嘗試了使用和不使用sys.path.append。它不會找到目錄 – freedom1342 2012-01-28 21:05:24
正如我所說的,您必須將'sys.path'設置爲包含**保存**'目錄'的文件夾。您還必須確保'myClass'位於'package directory.directory2'中。 – Borealid 2012-01-28 21:07:17
感謝您的幫助 – freedom1342 2012-01-30 19:30:31