Исключение Py4j в потоке «основной» java.lang.NoClassDefFoundError: py4j/GatewayServerJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Исключение Py4j в потоке «основной» java.lang.NoClassDefFoundError: py4j/GatewayServer

Сообщение Anonymous »

Я хочу, чтобы Python вызывал метод Java с использованием py4j, когда я упаковал Java-файл как jar и запустил его в Windows, все пошло не так:

Код: Выделить всё

>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
Java:

Код: Выделить всё

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!");
}}
питон:

Код: Выделить всё

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()
Я добавил основной класс в файл манифеста.MF, что с ним не так? Как мне с этим справиться, а я новичок в Java, дайте мне пример.

Подробнее здесь: https://stackoverflow.com/questions/595 ... atewayserv
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»