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

时间: 2024-10-27 04:31:49

python调用java程序--jpype的相关文章

51CTO下载-python调用java.docx

链接: http://blog.csdn.net/jobjava/article/details/7280798 python调用Java: JPype使用介绍 Python 作为一种灵活的软件开发语言在当今被广泛使用.在软件开发过程中,有时需要在 Python 项目中利用既有的 Java 代码,已达到节省时间和开发成本的目的.因此,找到一个 Python 代码调用 Java 代码的桥梁是非常有意义的. JPype 就是这样的一个工具,利用它可以使 Python 程序方便的调用 Java 代码,

Python调用Java(基于Ubuntu 18.04)

最近实习,需要使用Python编程,其中牵涉到一些算法的编写.由于不熟悉Python,又懒得从头学,而且要写的算法自己之前又用Java实现过,就想着能不能用Python调用Java.经过查找资料,方法如下: Step 1——安装JPype扩展包 想要通过Python调用Java,需要借助JPype组件,安装方式如下: # Python 2.7 pip install jpype1 # Python 3.* # pip3 install jpype Step 2——Java文件打包为JAR 安装好

Python调用Java代码部署及初步使用

Python调用Java代码部署: jpype下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype 下载的时候需要使用Chrome浏览器进行下载. 安装顺序: 1.pip install wheel 待wheel安装好以后,再安装已经下载的JPype1-0.6.2-cp36-cp36m-win_amd64.whl 文件 2.pip install JPype1-0.6.2-cp36-cp36m-win_amd64.whl 如果有问题,缺少库

python调用java

这么个标题多少有点蛋疼的感觉,两个都是互联网时代的语言,学习成本和执行效率也差不多,之所以会产生这种需求,多半是想在python中引用java的类,例如安卓和hadoop的生态圈,基本是java代码的天下,虽然python大数据有不错的接口,但直接调用java的需求总是有的.这个目前已经有解决方案,例如jython,采用了java编写的python的解释器,在java虚拟机上面运行了python虚拟机,想想都悲催,两个慢解释型语言的结合jython速度慢来自于基因. 还有一种方案就是使用c做桥接

在ORACLE触发器里调用JAVA程序

因为项目需要,有一个已经写好的Java程序,想要在Oracle某个表的触发器中调用,以使得每次数据更新时,调用这个JAVA程序,来修改后台某个数据. 现将过程记录如下: 1.编写JAVA程序 [java] view plain copy public class Main { public static void modify(String statTime) { String datas = "/var/spool/cron/oracle"; File data = new File

LoadRunner调用Java程序—性能测试-转载

LoadRunner调用Java程序-性能测试 为了充分利用LoadRunner的场景控制和分析器,帮助我们更好地控制脚本加载过程,从而展现更直观有效的场景分析图表.本次将重点讨论LoadRunner如何调用Java测试代码,完成压力测试. 通常我们在执行一些Server的压力测试的时候,总会不经意间想要一个Client完成对Server的调用示例,以至于我们可以通过LoadRunner直接录制,对于测试人员来说确实很方便.不过,开发人 员如果没有那么多时间去为测试人员服务,那可能就比较悲剧了,

定时cronjob调用Java程序

一个部署在linux环境的Java企业应用后台经常会在大半夜运行很多定时的任务,本篇文章总结下如何使用shell脚本调用Java程序,以备忘. 1. setupenv.sh export APP_HOME=`pwd` if [ -z "$JAVA_HOME" ] ; then JAVA=`which java` if [ -z "$JAVA" ] ; then echo "Cannot find JAVA. Please set your PATH.&qu

C通过JNI反向调用JAVA程序方法

JNI反向调用JAVA程序 引述:上文讲过java线程---OS线程的关系,然后C怎样反向调用JAVA程序方法是我们这篇讲的重点 1.ThreadTest中添加run()方法 2.编译ThreadTest.java         javac ThreadTest.java    生成ThreadTest.class 3.javah ThreadTest    生成 ThreadTest.h文件 4.编写ThreadNew.c文件 #include<pthread.h>#include<

Python调用java方法

需求 最近在后台项目代码中一段自定义的AES加解密的程序在平时的测试工作中应用频繁.因为写脚本经常会需要使用,而经过各种尝试,比如jpype等,都不尽如人意.最后转换思路找到了一种好方法: 1. 将java项目打成jar包: 2. 设定jar包的Main-class属性: 3. 在python中通过subprocess执行jar包. 修改main函数打jar包 在intellij中打jar包: 1. File--> Project Structure... --> Artifacts --&g