2017-06-09 11 views
0

Dieser Befehl und das Programm, auf dem er ausgeführt wird, funktionieren auf meinem Windows-Laptop, nicht jedoch auf meinem MacBook Pro. Es soll mir erlauben, die JVM so einzurichten, dass sie zwei Klassen gleichzeitig benutzt.Jpype.startjvm funktioniert nicht für iOS, funktioniert aber für Windows

Dies funktioniert nicht in iOS aber tut in Windows: jpype.startJVM (JVMHome "-Djava.awt.headless = true", '-Djava.class.path =% s' % oracleJarPath + ';' + mincronJarPath)

Aber wenn ich es nur zu einem einzigen Pfad ändern, funktioniert es für beide. Weiß jemand, was falsch ist oder was ich anders machen sollte?

Dies funktioniert für beide: jpype.startJVM (JVMHome "= -Djava.awt.headless true", '-Djava.class.path =% s' % oracleJarPath)

+0

Diese Frage muss bearbeitet werden. – polka

Antwort

0

Es sieht aus wie der Charakter zum Trennen der Wege ist anders. Für Windows ist es ";" aber für das iOS ist es ":". Sieht so aus, als müsste ich herausfinden, wie ich die Funktion os.path.pathsep.join nutzen kann.

Mehr ...

den Code zu dieser Änderung das Problem behoben und machte es auf beiden Systemen zu arbeiten.

myPath = "-Djava.class.path=" 
myPath += os.path.pathsep.join([oracleJarPath,mincronJarPath]) 

jpype.startJVM(JVMHome, "-Djava.awt.headless=true", myPath) 

Antwort auf diese Frage: "Ist -cp Option funktioniert nicht in JPype?", Half, das Problem zu lösen.

Verwandte Themen