ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Python调用Java(基于Ubuntu 18.04)

2019-06-06 23:00:05  阅读:266  来源: 互联网

标签:调用 Java 18.04 Python jar JAR testDemo



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

 

标签:调用,Java,18.04,Python,jar,JAR,testDemo
来源: https://www.cnblogs.com/weosuper/p/10987194.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有