前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python调用java API

python调用java API

作者头像
py3study
发布2020-01-08 11:45:28
2K0
发布2020-01-08 11:45:28
举报
文章被收录于专栏:python3python3

使用JPype来让python调用java API。

JPype的下载地址:https://pypi.python.org/pypi/JPype1 JPype的帮助文档:http://jpype.readthedocs.io/en/latest/

1、安装:

代码语言:javascript
复制
// 如过已经安装过,请略过这两步
yum install gcc
yum install gcc-c++

// 安装python-devel , 避免报错:error: command 'gcc' failed with exit status 1
yum install python-devel 
// 至于pip的安装,请参考:http://blog.csdn.net/xlxxcc/article/details/60958604
pip install jpype1

2、测试代码:

新建test.py, 代码如下:

代码语言:javascript
复制
from jpype import *
startJVM(getDefaultJVMPath(), "-ea")
java.lang.System.out.println("Hello World")
shutdownJVM()

运行test.py,

代码语言:javascript
复制
python test.py

结果如下:

代码语言:javascript
复制
Hello World
JVM activity report     :
        classes loaded       : 31
JVM has been shutdown

3、引用jar包:

在com目录下新建文件Test.java

代码语言:javascript
复制
package com;
public class Test {
    public String run(String str){
        return str;
    }
}

编译、打包

代码语言:javascript
复制
// 编译
javac Test.java

// 打包,必须把整个目录(报名和目录名要对应)打包,否则无法访问类。
jar cvf test.jar com

python调用

代码语言:javascript
复制
jarpath = os.path.join(os.path.abspath('.'), 'libs/test.jar')
jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % jarpath)
Test = jpype.JClass('com.Test')
# 或者通过JPackage引用Test类
# com = jpype.JPackage('com')
# Test = com.Test
t = Test()
res = t.run("a")
print res
jpype.shutdownJVM()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、安装:
  • 2、测试代码:
  • 3、引用jar包:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档