3

私はこれを探すのにかなりの時間を費やし、多くの解決策を探りました。

これは、このスレッドに関連しています。 Python から Java を呼び出す

最後に、テスト後:

Pyjnius : Windows にインストールできません。

Py4J: Windows にインストールできますが、Gateway を使用すると少し重いです。

JPype: Python 3 は 5 分でインストールされ、問題なく 50Mo JAR をロードできます。良いことは、構文がPython構文と完全にマージされていることです... https://github.com/tcalmant/jpype-py3

大きなサイズの JAR を使用して、Python で Java の実際のラッピング アプリケーション (つまり、実稼働サーバーで実行) を開発した人はいますか?

4

1 に答える 1

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
于 2016-03-02T01:22:17.397 に答える