JDClass = jpype.JClass("JpypeDemo")
File "D:\Compile_software\anaconda3\lib\site-packages\jpype\_jclass.py", line 99, in __new__
return _jpype._getClass(jc)
TypeError: Class yourxxxClass is not found
文件路徑不能帶有中文。
在我使用jpype調用java代碼,程序一直報錯class not found。先開始我以為是jar文件編碼問題,甚至也認為java和python的位數不一致,后來發現這些都不是。
直到我把jar包放入當前目錄下,使用./xxx.jar,然后程序不報錯,看了眼路徑,里面居然帶有中文。
一個小習慣,放代碼的文件夾,不要帶有任何的中文。
一個簡單的模板
1 import jpype
2 jvmPath = jpype.getDefaultJVMPath() #啟動java虛擬機
3 jpype.startJVM(jvmPath, "-ea", "-Djava.class.path=./emailWeb.jar") #jar包路徑
4 class_path = "com.example.emailWeb.service.client.Sender" # class的package
5 JClass = jpype.JClass(class_path) #獲取類,輸入參數為類的路徑
6 instance = JClass() #實例化為對象
7 a = instance.getA() # class的函數
8 print(a)
9 jpype.shutdownJVM() #關閉虛擬機
如果你的工程很龐大,可以看看這篇文章,我是通過這篇文章成功打成了jar包。
https://www.cnblogs.com/Bruce_H21/p/9909198.html