JPype入门实例

来源:互联网 发布:自学编程入门 编辑:程序博客网 时间:2024/06/05 00:48

转自: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、 通过命令行的方法

1CMD窗口,跳转到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!”,执行成功

1 0