使用Jpype在python中调用Java程序

来源:互联网 发布:马哥2014linux视频 编辑:程序博客网 时间:2024/05/24 06:50

在项目中遇到了这样的需求,在这里记录一下,首先要下载python的jpype库。最简单的就是用法就像下面一样:

jpype.startJVM(jpype.getDefaultJVMPath())//调用java内置库函数方法jpype.java.lang.System.out.println("hello world!") jpype.shutdownJVM()

然后可以尝试着调用自己写的java项目。第一步是在ide(eclipse)中将java工程导出为jar文件,放到一个指定路径中,这里放在”/home/liuchong/”下,文件为cilin.jar。

import jpypeimport os//指定jar包位置jarpath = os.path.join(os.path.abspath('.'), '/home/liuchong/')//开启JVM,且指定jar包位置jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % jarpath)//引入java程序中的类.路径应该是项目中的package包路径javaClass = jpype.JClass('cilin.CiLin')//这一步就是具体执行类中的函数了javaInstance = javaClass.calcWordsSimilarity(u"杯子", u"盆子")print javaInstancejpype.shutdownJVM()

这样其实也就满足了大部分的需求,在介绍一下变量类型的对应关系应该就差不多了。注意,java中的string要指定为unicode编码格式。

Java 类型==================转换成的 python 类型byte, short and int=======intlong======================longfloat and double==========floatboolean===================int of value 1 or 0char======================unicode of length 1String====================unicodearrays====================JArrayother Java object=========JavaObjectClass=====================JavaClassarray Class===============JavaArrayClass
0 0
原创粉丝点击