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

安装好后,需要将需要调用的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

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

时间: 2024-10-14 22:17:02

Python调用Java(基于Ubuntu 18.04)的相关文章

Golang、Php、Python、Java基于Thrift0.9.1实现跨语言调用

目录: 一.什么是Thrift? 1) Thrift内部框架一瞥 2) 支持的数据传输格式.数据传输方式和服务模型 3) Thrift IDL 二.Thrift的官方网站在哪里? 三.在哪里下载?需要哪些组件的支持? 四.如何安装? 五.Golang.Java.Python.PHP之间通过Thrift实现跨语言调用 1) Golang 客户端和服务端的实现及交互 2) python 客户端的实现与golang 服务端的交互 3) php 客户端的实现与golang 服务端的交互 4) java

Ubuntu 18.04 基于NVIDIA 2080安装TensorFlow-GPU 1.13.1

官方文档 注意版本一一对应https://tensorflow.google.cn/install/source 其他请参考 Ubuntu16.04 基于NVIDIA 1080Ti安装TensorFlow-GPU 安装环境 系统:Ubuntu 18.04.02 desktop 显卡:NVIDIA GeForce GTX 2080 显卡驱动:NVIDIA-Linux-x86_64-410.72.run CUDA:cuda_10.0.130_410.48_linux cuDNN: libcudnn7

Ubuntu 18.04.1 搭建Java环境和HelloWorld

一.搭建Java环境 系统环境 Ubuntu 18.04.1 JDK 8 IDEA 2018.2 1.下载JDK 官网地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 选择相应的版本,点击jdk,进入下载页面,选择"Linux x64"版本的后缀为"xxx.tar.gz"的Liunx压缩包. 2.解压JDK压缩包 在下载中找到压缩包,双击文件,把目录中的文件拖拽到"/

半小时快速了解redis,基于ubuntu 12.04 + redis 2.8.9

一.什么是redis ? 其官方介绍是: Redis is what is called a key-value store, often referred to as a NoSQL database. Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server sincekeys can contain strings, 

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 pyth

Ubuntu 18.04 编译 ijkplayer

Ubuntu 18.04 编译 ijkplayer 1. 配置安装源 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu 2. 配置好安装源后,安装一些组件 $ sudo apt update $ sudo apt install vim openssh-server git curl wget tar unzip $ sudo apt install build-essential openjdk-8-jdk yasm python 3. 下载sd

Ubuntu 18.04 下 emscripten SDK 的安装

Ubuntu 18.04 下 emscripten SDK 的安装 http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html#installation-instructions 需要环境 清华安装源 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu $ sudo apt update $ sudo apt install vim openssh-serv

Ubuntu 18.04 实验环境配置

Ubuntu 18.04 实验环境配置 系统:Ubuntu 18.04 64bit 显卡:Nvidia GeForce 1080Ti 下载 CUDA.cuDNN.NVIDIA间存在某种关系,建议先确定要安装的CUDA版本. 注意:后续要安装的一些包不支持CUDA9.1. CUDA下载地址:https://developer.nvidia.com/cuda-toolkit-archive cuDNN下载地址:https://developer.nvidia.com/rdp/cudnn-archiv

Tensorflow安装教程(ubuntu 18.04)

此教程的硬件条件: 1.Nvidia GPU Geforce390及以上 2.Ubuntu 18.04操作系统 3.Anaconda工具包 如果python版本为3.7及以上,使用如下命令降级到3.6: conda search python //搜索可用的python版本,这条命令非必须 conda install 3.6.7 //安装3.6版本中的最新版 python --version //查看python版本,如果是3.6.7,那就可以了 接下来,按照下面这个视频的教程一步一步做即可,保