`
小鸡啄米
  • 浏览: 38135 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用JPype实现Python调用JAVA程序

阅读更多

一, Ubuntu下环境的配置

1,安装JDK

首先安装javajdk,我是从新立得软件包中安装:

 

sudo apt-get install sun-java6-jdk      (jdk的版本取决于你的ubuntu版本)

 安装后的jdk的目录是:/usr/lib/jvm/java-6-sun-1.6.0.26/。安装好jdk后,最重要的就是配置环境变量。环境变量的配置有好几种方法,能设置环境变量的文件包括:/etc/profile/etc/evironment ~/.profile/bashrc~/.bashrc。这几个文件里定义的环境变量,用户使用的权限和执行的时间不一样。在/etc/environment文件里定义jdk环境变量。在该文件中添加:

 

JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.26
CLASSPATH=.:/usr/lib/jvm/java-6-sun-1.6.0.26/lib

   (CLASSPATH以冒号分隔开。. 号表示当前目录)

然后在~/.bashrc文件中添加:

export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.26
export CLASSPATH=.:$JAVA_HOME/lib

因为ubuntu认安装了OPENJDK所以要选择所用的JDK执行下面两条命令:

 

update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-6-sun-1.6.0.26/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-6-sun-1.6.0.26/bin/javac 300

  这样安装的java就可以加入java选单。再调用下面的命令就可以选择java的版本了。

update-alternatives --config java

 

在终端测试一下吧!到此jdk就安装完成了。

 

2.安装Jpype

从官网上下载JPype。在unbuntu下安装还需要做点小修改,修改setup.py,文件中setupLinux函数中的self.javaHome变量为自己的JDK目录:

self.javahome='usr/lib/jvm/java-6-sun-1.6.0.26‘

运行python setup.py install.的话 可能会出现找不到Python.py。需要安装python-dev。如果再安装出错的话,就需要你自己排错了。当然你在安装JPype之前必须安装好Python。测试一下在终端中打开python shellimport Jpype。无错表示安装成功。

 

python调用java 示例

 

写个很简单的java程序并打包成jar包供python程序调用。

简单的java程序:

 

package test;

public class TestApi
{
    public String getData(String key){
        return key;
    }
    public void printData(String key){
        System.out.println(key);
    }
    
    public static void main(String[] args)
    {
        System.out.println(123);
    }
}

编译成.class文件:

 

javac TestApi.java

将.class文件放入test文件夹中,在test文件夹外新建一个.mf文件,就叫TestApi.mf吧。并在该文件中加入:

Created-By: Jesse Main-Class: test.TestApi

  Main-Class指的就是主程序的入口类,利用下列指令打包jar文件:

 

jar cvfm TestApi.jar TestApi.mf test

 到此,java的包文件已经完成,下面就测试JPype吧:

 

#!/usr/bin/env python
#coding : utf-8

from jpype import *

jvmpath = getDefaultJVMPath()
startJVM(jvmpath, "-ea", "-Djava.class.path=.")
TA = JPackage('test').TestApi
jd = TA()
jd.printData('1234')
s = jd.getData('a')
print s
shutdownJVM();
 

 

 

分享到:
评论

相关推荐

    Python 调用Java实例详解

    Python 调用Java实例详解 前言: Python 对服务器端编程不如Java 所以这方面可能要调用Java代码 前提: Linux 环境  1 安装 jpype1 安装后测试代码:  from jpype import * startJVM(getDefaultJVMPath(), "-ea...

    python 利用 jpype 调用java代码

    python 利用 jpype 调用java代码

    jpype for python 2.4

    python 调用 java 类

    JPype实现在python中调用JAVA的实例

    一、JPype简述 1.JPype是什么? JPype是一个能够让 python 代码方便... 2)使用者不同:jython是给java程序玩的,JPype是给python程序员玩的。 二、JPype安装  1.先安装Python2.7和JAVA1.6  2.安装JPype-0.5.4.2.wi

    python如何调用java类

    由于 python 本身为脚本语言,且经常存在调用第三方库的情况,有的时候用 java 调用 python 不如用 ...python 调用 java 主要是靠在 python 中 import jpype 来实现的。 jpype 的安装极其容易,在 http://jpype.sour

    JPype 2.7 安装包(windows 平台下)- 下调积分

    jpype主要用于python程序调用Java程序。这里主要是jpype2.7 ,里面还有一个python的安装包。之前遇到一些问题,安装这两个可以解决

    JPype最新版 使用于py2.7

    JPype最新版,使用于py2.7,主要用于phthon调用JAVA

    python调用java模块SmartXLS和jpype修改excel文件的方法

    主要介绍了python调用java模块SmartXLS和jpype修改excel文件的方法,涉及Python调用java模块的相关技巧,非常具有实用价值,需要的朋友可以参考下

    python调用java的jar包方法

    from jpype import * jvmPath = getDefaultJVMPath() jars = ["./Firstmaven-1.0-SNAPSHOT-jar-with-dependencies.jar"] jvm_cp = "-Djava.class.path={}".format(":".join(jars)) startJVM(jvmPath,jvm_cp) ...

    Python使用jpype模块调用jar包过程解析

    能够让 python 代码方便地调用 Java 代码的工具 二、jpype模块安装 安装和其它模块没区别,但是注意模块名 是 jpype1 ,后面有个1 pip install jpype1 三、jpype模块应用(macOs下) 笔者在标题里面备注了所使用...

    Python调用jar包方法实现过程解析

    因为写脚本经常会需要使用,而经过各种尝试,比如jpype等,都不尽如人意。最后转换思路找到了一种好方法: 1. 将java项目打成jar包; 2. 设定jar包的Main-class属性; 3. 在python中通过subprocess执行jar包。 修改...

    Python RocketMQ

    python调用java访问RocketMQ,兼容python2和python3。 请安装jpype1

    JPype-0.5.4.2.win32-py2.6.

    python调用java所需的工具

    jpype-0.6.3

    JPype是一个能够让 python 代码方便地调用 Java 代码的工具,从而克服了 python 在某些领域(如服务器端编程)中的不足。

    rocketmq-client.zip

    python调用java访问RocketMQ,兼容python2和python3。 请安装jpype1

    phagea:基于噬菌体的进化算法

    噬菌体 基于噬菌体的进化算法 用Java编写,但可通过jPype从python调用

    python如何使用jt400.jar包代码实例

    这篇文章主要介绍了python如何使用jt400.jar包代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 jt400helper.py #coding=utf-8 import jpype ...

    meetup_crawler:用于 EBSN Meetup 的基于 Python 的爬虫

    要运行爬虫,只需调用python crawl.py 。 要查看所有配置功能,请调用python crawl.py --help 。 支持的数据库系统: SAP HANA 要求: jaydebeapi ( pip install jaydebeapi ) JPype(请参阅下面的说明) 在 Mac...

Global site tag (gtag.js) - Google Analytics