python调用java程序--jpype
官方网站:http://jpype.sourceforge.net/
官方使用文档:http://jpype.sourceforge.net/doc/user-guide/userguide.html
1.安装
首先在官网上下载程序安装包
ubuntu系统可以直接通过 sudo apt-get install python-jpype 命令安装 ,但是因为会附带安装open-jdk pass ,手动安装jdk,然后再安装jpype
解压目录 切换到setup.py 目录执行 sudo python setup install 即可,
在ubuntu系统需注意在setup.py文件中指定java home 目录

def setupLinux(self):
self.javaHome = os.getenv("JAVA_HOME")
if self.javaHome is None :
self.javaHome = '/usr/lib/jvm/java'
#self.javaHome = '/usr/lib/jvm/java-1.5.0-sun-1.5.0.08' # Ubuntu linux
# self.javaHome = '/usr/java/jdk1.5.0_05'
self.jdkInclude = "linux"
self.libraries = ["dl"]
self.libraryDir = [self.javaHome+"/lib"]

然后打开python shell 输入 import jpype 不报错,证明安装成功
2.使用
简单执行java api
import jpype jpype.startJVM(jpype.getDefaultJVMPath())
jpype.java.lang.System.out.println("hello world!")
jpype.shutdownJVM()
调用java jar包

package jpype;
public class JpypeDemo {
public void sayHello(String inputStr){
System.out.println(inputStr)
}
}


from jpype import *
import os.path
jarpath = os.path.join(os.path.abspath('.'), 'jar包目录')
startJVM(getDefaultJVMPath(),"-ea", "-Djava.class.path=%s" % (jarpath + 'XXX.jar'))
JDClass = JClass("jpype.JpypeDemo")
jd = JDClass()
#jd = JPackage("jpype").JpypeDemo() #两种创建jd的方法
jd.sayHello("hello world")
shutdownJVM()

python调用java程序--jpype的更多相关文章
- 使用JPype实现Python调用JAVA程序
''' Created on 2016年6月1日 @author: cero ''' import jpype jvmPath = jpype.getDefaultJVMPath() ext_clas ...
- Python调用Java(基于Ubuntu 18.04)
最近实习,需要使用Python编程,其中牵涉到一些算法的编写.由于不熟悉Python,又懒得从头学,而且要写的算法自己之前又用Java实现过,就想着能不能用Python调用Java.经过查找资料,方法 ...
- Python的JAVA胶水——jpype
Python的JAVA胶水--jpype python可以作为一门胶水语言使用,可以用其它语言的优势来弥补自身如性能方面的不足,jpype就是在Python中使用jvm的第三方库 文档在这里 安装 s ...
- Python调用Java代码部署及初步使用
Python调用Java代码部署: jpype下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype 下载的时候需要使用Chrome浏览器进行下载 ...
- 在ORACLE触发器里调用JAVA程序
因为项目需要,有一个已经写好的Java程序,想要在Oracle某个表的触发器中调用,以使得每次数据更新时,调用这个JAVA程序,来修改后台某个数据. 现将过程记录如下: 1.编写JAVA程序 publ ...
- C#调用java程序
前言: 最近跟项目组的人合作一个项目,由于之前我用的是java写的一个与android通信的程序,现在另一个同事来编写界面程序,由于C#编写起来比较方便,而我又不想重新写之前java的那段代码,于是需 ...
- LoadRunner调用Java程序—性能测试-转载
LoadRunner调用Java程序—性能测试 为了充分利用LoadRunner的场景控制和分析器,帮助我们更好地控制脚本加载过程,从而展现更直观有效的场景分析图表.本次将重点讨论LoadRunn ...
- C通过JNI反向调用JAVA程序方法
JNI反向调用JAVA程序 引述:上文讲过java线程---OS线程的关系,然后C怎样反向调用JAVA程序方法是我们这篇讲的重点 1.ThreadTest中添加run()方法 2.编译ThreadTe ...
- python - jpype模块,python调用java的接口
转载自: http://www.cnblogs.com/junrong624/p/5278457.html https://www.cnblogs.com/fanghao/p/7745356.html ...
随机推荐
- python 项目部署virtualenv
安装virtualenv---------------------------------------- mac: pip3 install virtualenv ubuntu: apt instal ...
- popup介绍
一.作用 用于使浏览器自动生成弹窗 二.示例 1.新建Django项目,新建APP:app01, 项目根目录下新建文件夹static 2.静态文件配置,在settings.py中配置static: 3 ...
- 关于Django中,实现序列化的几种不同方法
前言 关于序列化操作,就是将一个可迭代的数据结构,通过便利的方式进行我们所需要的操作. 今天历来归纳一下,Django中的几种不同得分方法,已经Django-restframework提供的方法 创建 ...
- jQuery_DOM学习之------包裹元素的方法
1..wrap( ):在集合中匹配的每个元素周围包裹一个HTML结构 简单的看一段代码: <span>连接文字</span> 给span元素增加一个a包裹 $('span'). ...
- 找出消耗CPU最高的进程对应的SQL语句
COLUMN PID FORMAT 999COLUMN S_# FORMAT 999COLUMN USERNAME FORMAT A9 HEADING "ORA USER"COLU ...
- bzoj4553 [Tjoi2016&Heoi2016]序列 树状数组(区间最大值)+cqd
[Tjoi2016&Heoi2016]序列 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 1006 Solved: 464[Submit][ ...
- 餐巾(cogs 461)
[问题描述] 一个餐厅在相继的N天里,第i天需要Ri块餐巾(i=l,2,…,N).餐厅可以从三种途径获得餐巾. (1)购买新的餐巾,每块需p分: (2)把用过的餐巾送到快洗部,洗一块需m天,费用需f分 ...
- 莫比乌斯反演套路一--令t=pd--BZOJ2820: YY的GCD
t<=10000组询问:有多少x,y,满足$x\epsilon [1,n],y\epsilon [1,m],(x,y)为质数$.n,m<=1e7. 首先式子列出来,f(i)--1<= ...
- 【Tomcat】tomcat启动后查看运行时JVM参数
Tomcat优化配置参考http://www.cnblogs.com/qlqwjy/p/8007490.html 1.启动服务后访问localhost,点击Server Status
- ***CodeIgnite/CI 去掉 index.php的 配置
CI有效删除URL中的index.php 参考: http://codeigniter.org.cn/forums/thread-15444-1-1.html 读CI的使用手册的话,关于如何有效删除U ...