转自:http://www.cnblogs.com/mumuli/p/5806963.html
因项目需要用python调用java程序,所以特意搜了搜JPype,但调了好几天才成功,尽管心好累,还是打算记录下,以此为鉴,避免再走弯路。
一、测试代码
1、编写HelloWorld.py脚本
#HelloWorld.py
from jpype import *
import os
startJVM(getDefaultJVMPath(),"-ea")
java.lang.System.out.println("HelloWorld")
os.system("pause")
shutdownJVM()
2、在cmd窗口运行HelloWorld.py
3、成功打印出“Hello world”,成功
二、引用jar包
1、创建如下结构的Test.java
Main.java是在主函数中调用了run方法
2、Test.java代码
代码如上所示
3、将其打包成jar
下面两种方法均可行:
a、 通过命令行的方法
1、CMD窗口,跳转到Test.java所在目录
2、运行javac Test.java
3、看到Test.java的同级目录下生成了一个Test.class
4、跳转到src所在目录运行jar cvf test.jar com
5、可以看到src目录下生成了test.jar
6、将test.jar拷贝到Python安装目录下的libs目录中
b、直接将工程打包成jar
项目à右键àExportàJava—>Runnable Jar File,选择该项目的主函数,保存到Python安装目录下的libs目录中
4、编写Python调用脚本
# testJPype.py
from jpype import *
import os.path
jarpath=os.path.join(os.path.abspath('.'),"libs\\test.jar")
#print(jarpath)
startJVM(getDefaultJVMPath(),"-ea","-Djava.class.path=%s"% jarpath)
#Test=jpype.JClass("com.Test")
com=JPackage('com')
Test=com.Test
t=Test()
res=t.run("JPype,HelloWorld!")
print(res)
5、运行成功共成功
输出“JPype,Hello World!”,执行成功