码迷,mamicode.com
首页 > 编程语言 > 详细

Python调用Java(基于Ubuntu 18.04)

时间:2019-06-07 00:31:28      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:自定义   算法   dem   jar包   输出   span   das   扩展包   资料   


最近实习,需要使用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

安装好后,需要将需要调用的Java文件打包为JAR格式用于调用,示例代码如下:

// testDemo.java
public class testDemo {
    public String inputTest(String input) {
        return "Input content: " + input;
    }
    public int calculate(int a,int b) {
        return a + b;
    }
}

打包JAR

# 编译Java程序
javac testDemo.java
# 打包成JAR
jar cvf testDemo.jar testDemo.class

Step 3——Python调用

在得到JAR包后,就能通过Python进行调用了,示例代码如下:

# -*- coding:utf-8 -*-
from jpype import *
import os

# 启动Java环境
startJVM("/usr/local/jdk1.8.0_211/jre/lib/amd64/server/libjvm.so", "-ea",     "-Djava.class.path=%s" % (os.getcwd() + "/Test.jar"))

# 加载自定义的Java Class
JClass = JClass("testDemo")
jc = JClass()
    
# 获取Java标准库打印函数
jprint = java.lang.System.out.println    
# 调用函数,并输出返回值
jprint(jc.input("aloha"))
jprint(jc.calculate(1, 2))
    
# 关闭Java环境
shutdownJVM()

2019.06.06 22:47——Weo

 

Python调用Java(基于Ubuntu 18.04)

标签:自定义   算法   dem   jar包   输出   span   das   扩展包   资料   

原文地址:https://www.cnblogs.com/weosuper/p/10987194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!