Java 打Jar包给python 调用
踩坑
使用这种方式打出的jar包最后无法使用会报错没有清单属性
javac getHeader.java
java -cvf getHeader.jar getHeader.class
具体是没有配置函数的入口 这篇文章有解释
我在网上找了使用Idea 进行打包的流程贴在这里
配置好的界面应该是这样的
//getHeader.java
package com.o00oO00o;
public class getHeader{
public static String sign(int page ){
return String.valueOf(page);
}
}
调试好的python 代码
import os
import jpype
import requests
jvmPath = jpype.getDefaultJVMPath()
jpype.startJVM(jvmPath, "-ea", "-Djava.class.path=%s" % '/Volumes/file/code/java_code/jar_test/out/artifacts/jar_test_jar/jar_test.jar')
JDClass = jpype.JClass("com.o00oO00o.getHeader")
# 实例化Java类
jd = JDClass()
# 调用 方法
result = jd.sign(1) # str
print(type(result),result)