代码
from jpype import *
startJVM(getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % ('./springboot.jar'))
test = JPackage("com.gf.springboot").test()
print(test.run(" jpype"))
print(test.calc(1, 1))
shutdownJVM()
一开始直接用打好的的jar包,但是读入的时候总是说找不到我的类,要不然就是我的包非法
排错:
1.首先我的jpype使用是没有问题的,可以正常输出
java.lang.System.out.println("Hello World")
2.python 3.7 Java 1.8 都是64位
3.打jar包的方式,是我一直的方式,在其他地方都没问题
后来看了https://blog.csdn.net/newxren/article/details/7351200感觉还是jar包的问题
又重新写了一个简单的Java程序,重新打包验证
package com.gf.springboot;
public class test {
public String run(String name) {
return "hello" + name;
}
public int calc(int a, int b) {
return a + b;
}
public static void main(String[] args) {
System.out.println("hello world!");
}
}
按照https://blog.csdn.net/weixin_42089175/article/details/89113271的方式进行打包
这里有个疑问这种方式必须要一个main函数,没有就不能打
得到springboot.jar
再次验证
总结:
以前打好的包为什么不能用,这个我猜想是之前的jar依赖太多还需要其他jar作为辅助,但是我不知道怎么验证,希望大神能指点,感谢
还有一个疑问的地方,我看网上运行jpype时会有这样的输出,但是我一直都没有,不知道为什么