Python调用Java可执行jar包问题

目录
  • 基于IDEA生成可执行jar包
  • Python如何调用jar
  • 总结

基于IDEA生成可执行jar包

1.编写class的代码,注意一定要有main()方法才可以生成jar包,main()方法可以没有内容。

例如:

public class testFunction {
    public static void main(String[] args) {

    }
    public static void send() {
        System.out.println("i use message");
    }
}

2.点击file->project structure

3.点击选择想要生成jar包的类,这里我选择testFunction.class。

注意Directory for meta-inf/manifest.mf的位置不要选择默认的,最好选择项目根目录。

我选择默认的会找不到生成的jar包的位置。

4.点击Build->Build Artifacts后选择对应的Artifact,并点击Build即生成成功。

5.生成的jar包

Python如何调用jar

1.需要下载jpype,windows+R输入cmd进入命令提示符,将路径转到jpype所在目录,执行pip install jpype文件名。

2.具体操作方法请自行搜索,能找到详细步骤。

代码如下

def sendMessage():
	#  1.加载jar包
	jarpath = os.path.join(os.path.abspath("."),"(填写你的jar包的filepath)\\wit_test.jar")
	#  2.获取jvm.dll 的文件路径
	jvmPath = jpype.getDefaultJVMPath()
	#  3.开启jvm
	jpype.startJVM(jvmPath, "-ea", "-Djava.class.path=%s" % (jarpath))
	#  4.加载java类(参数是java的长类名)
	javaClass = jpype.JClass("testFunction")
	#  5.实例化java对象
	javaInstance = javaClass()
	#  6.调用java方法,由于我写的是静态方法,直接使用类名就可以调用方法
	javaInstance.send()
	#  7.关闭jvm
	jpype.shutdownJVM()
	pass

如果只需调用一次jar包,上述代码可行。

如果需要多次调用会出现重新启动失败的问题,那么解决办法是把代码放在main()函数中,前5步代码初始化完毕后,每次只循环使用第6步代码。

第7步代码去掉。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python如何调用java类

    由于 python 本身为脚本语言,且经常存在调用第三方库的情况,有的时候用 java 调用 python 不如用 python 调用 java 方便.下面就整理一下在 python 调用 java 过程中需要哪些操作.(默认是 linux 的 Ubuntu 上调用) 首先 linux 上的 jdk 是一定需要安装的,这个过程在这里就不表了,python 都是 linux 自带的,这里默认是 python2.7. 安装 jpype python 调用 java 主要是靠在 python 中 im

  • Python正确调用 jar 包加密得到加密值的操作方法

    前言 在做接口自动化的时候,经常会遇到一些参数是需要加密的,比如密码参数. 加密规则一般开发也不愿意告诉你,会直接给你一个jar包,让你调用jar包得到加密值,在jmeter上是可以直接引用jar包的,但python调用jar包会有点麻烦. 环境准备 我的电脑环境: windows10 python3.6.6 (64位) jdk 1.8.0_20 (64位) 安装jdk的时候,也会顺带安装了jre, 安装目录结构如下(jdk的安装自己网上找详细教程) 安装完成后检查版本号和jar命令 C:\Us

  • 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) sedisObj = JClass("Lo

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

    一.jpype模块是什么? 能够让 python 代码方便地调用 Java 代码的工具 二.jpype模块安装 安装和其它模块没区别,但是注意模块名 是 jpype1 ,后面有个1 pip install jpype1 三.jpype模块应用(macOs下) 笔者在标题里面备注了所使用的操作系统,因为windows操作系统的一个配置有点区别,待会遇到再讲解吧. 3.1 jpype模块测试 import jpype # getDefaultJVMPath 获取默认的 JVM 路径 jvm_path

  • Python调用Java可执行jar包问题

    目录 基于IDEA生成可执行jar包 Python如何调用jar 总结 基于IDEA生成可执行jar包 1.编写class的代码,注意一定要有main()方法才可以生成jar包,main()方法可以没有内容. 例如: public class testFunction { public static void main(String[] args) { } public static void send() { System.out.println("i use message");

  • java命令执行jar包的多种方法(四种方法)

    大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口. 具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件. 比如有个叫做test.jar的jar包,里面有一个拥有main函数的main class:test.someClassName 我们就只要在MANIFEST.MF里面添加如下一句话: Main-Class: test.someClassName 然后我们可以在控制台里输入java

  • idea打包java可执行jar包的实现步骤

    1,在项目上鼠标右键 --> Open Module Settings 2, Artifacts --> + --> JAR --> From modules with dependencies... 3, Main Class是你这个项目(脚本)的主方法,就是要运行的类,选一个 4,如下图,设置 META-INF/MANIFEST.MF !!!!!切记,不能用默认的(起码我用默认的是不成功的)!!!!! 6,选中你这个项目的根目录,一定要放在根目录下 7,设置完是这样子的,关于

  • java打包成jar并执行jar包中指定的main方法

    java打包成jar jar -cvf [jar包的名字] [需要打包的文件] 执行jar包中的main方法 java -jar ****.jar 执行后总是运行指定的主方法,如果 jar 中有多个 main 方法,那么如何运行指定的 main 方法呢? 用下面的命令试试看: java -classpath ****.jar ****.****.className [args] "****.****"表示"包名": "className"表示&q

  • 浅谈java 执行jar包中的main方法

    浅谈java 执行jar包中的main方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar 执行后总是运行指定的主方法,如果 jar 中有多个 main 方法,那么如何运行指定的 main 方法呢? 用下面的命令试试看: java -classpath ****.jar ****.****.className [args] "****.****"表示"包名": "className"表示&

  • java 中使用maven shade plugin 打可执行Jar包

    java 中使用maven shade plugin 打可执行Jar包 eclipse里有一个功能叫做"打可执行(runnable) jar包", 用这个功能可以把一个工程自身和所有依赖包打成一个fat jar,并且指定Main方法,这样直接使用java jar xxx.jar就可以运行代码了. 但是在不使用eclipse的时候呢?其实,借助maven,我们很容易实现同样功能.maven提供了一个shade plugin,可以用来打fat jar, 同时也提供了指定main方法的功能.

  • Eclipse创建java程序可执行jar包教程

    一.eclipse中,在要打成jar包的项目名上右击,出现如下弹出框,选择"export": 二.在接下来出现的界面中点击"jar file",然后next: 三.在接下来出现的界面中,如图所示勾选上要打包的项目以及其他选项,例如test项目:然后点击右边箭头所指的browse,选择打好的jar包要保存的目录,同时给自己的jar包命名,例如我这里选择存放在桌面,名字为jarTest;然后点击"next",在之后弹出的界面中再点击一次"n

  • 将java程序打成jar包在cmd命令行下执行的方法

    前言 大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口.本文将给大家介绍java程序打成jar包在cmd命令行下执行的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.打包 二.修改配置文件是程序能够引用第三方jar包 1.新建一个文件夹,用来存储这个项目 ------------第三方jar包单独存在一个文件夹下面(这里放在了lib下面)(重点是lib要和weixin.jar同

  • Python 调用Java实例详解

    Python 调用Java实例详解 前言: Python 对服务器端编程不如Java 所以这方面可能要调用Java代码 前提: Linux 环境  1 安装 jpype1 安装后测试代码: from jpype import * startJVM(getDefaultJVMPath(), "-ea") java.lang.System.out.println("Hello World") shutdownJVM() 2 调用非jdk的jar包, test.jar 包

随机推荐