我花了很多时间寻找这个并探索了许多解决方案。
这与此主题有关。 Calling Java from Python
最后,经过测试:
Pyjnius:无法在Windows中安装。
Py4J:可以安装在Windows上,但使用Gateway有点重。
JPype:在5分钟内安装Python 3,可以毫无问题地加载50Mo JAR。 好的是语法完全与Python语法合并... https://github.com/tcalmant/jpype-py3
只是想知道,如果有人在Python中开发了真实的Java包装应用程序(即在生产服务器上运行),那么大型JAR?
答案 0 :(得分:2)
为了节省许多人的时间,我发布了我用于JPype的模块,这正在加载JAR。
import jpype as jp; import numpy as np; import os as os
jarpath= r"D:\zjavajar\\"
mavenurl= r"http://mvnrepository.com/artifact/"
# StartJVM (add "-Xmx" option with 1024M if crash due to not enough memory )
def importJAR(path1="", path2="", path3="", path4=""):
classpath = path1
if path2 != "": classpath = os.pathsep.join((classpath, path2))
if path3 != "": classpath = os.pathsep.join((classpath, path3))
if path4 != "": classpath = os.pathsep.join((classpath, path4))
jp.startJVM(jp.getJVMPath(),"-ea", "-Djava.class.path=%s" % classpath)
def showLoadedClass(): #Code to see the JAR loaded.
classloader = jp.java.lang.ClassLoader.getSystemClassLoader(); vv= [];
for x in classloader.getURLs(): vv.append(x.toString());
return vv
def loadSingleton(class1): single= jp.JClass(class1); return Single.getInstance()
def java_print(x): jp.java.lang.System.out.println(x) #Print in Java Console