Py4j-Ausnahme im Thread „main“ java.lang.NoClassDefFoundError: py4j/GatewayServerJava

Java-Forum
Anonymous
 Py4j-Ausnahme im Thread „main“ java.lang.NoClassDefFoundError: py4j/GatewayServer

Post by Anonymous »

Ich möchte, dass Python die Java-Methode mit py4j aufruft. Als ich die Java-Datei als JAR verpackte und unter Windows ausführte, ging ein Fehler vor:

Code: Select all

>java -jar spark-1.0-SNAPSHOT.jar

Exception in thread "main" java.lang.NoClassDefFoundError: py4j/GatewayServer
at com.littlely.AddNum.main(AddNum.java:11)
Caused by: java.lang.ClassNotFoundException: py4j.GatewayServer
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
das Java:

Code: Select all

package com.littlely;
import py4j.GatewayServer;

public class AddNum{
public float add(float a, float b){
return a + b;
}

public static void main(String[] args) {
GatewayServer server = new GatewayServer(new AddNum());
server.start();
System.out.println("server started!");
}}
die Python:

Code: Select all

from py4j.java_gateway import JavaGateway

def main():
jvm = JavaGateway().jvm
myadd = jvm.com.littlely.AddNum()
print(myadd.add(40.0, 80.0))

if __name__ == "__main__":
main()
Ich habe die Hauptklasse zur Datei manifest.MF hinzugefügt. Was ist daran falsch? Wie kann ich damit umgehen, und ich bin neu in Java, bitte geben Sie mir ein Beispiel.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post