使用Jpype在python中调用Java程序

在项目中遇到了这样的需求,在这里记录一下,首先要下载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 jpype
import 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 javaInstance
jpype.shutdownJVM()

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

Java 类型==================转换成的 python 类型
byte, short and int=======int
long======================long
float and double==========float
boolean===================int of value 1 or 0
char======================unicode of length 1
String====================unicode
arrays====================JArray
other Java object=========JavaObject
Class=====================JavaClass
array Class===============JavaArrayClass
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值