невозможно запустить программу Java на Mac - PullRequest
0 голосов
/ 20 сентября 2011

Я пытаюсь запустить программу Java, которая находится в пакете с именем udpprobe.client, но я не могу запустить программу.Все хорошо, но я получаю ошибку:

Exception in thread "main" java.lang.NoClassDefFoundError: UDPClient (wrong name: udpprobe/client/UDPClient)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

Может ли кто-нибудь помочь мне с настройкой classpath?Я работаю на Mac.Спасибо

1 Ответ

2 голосов
/ 21 сентября 2011

Эта ошибка обычно возникает, когда вы пытаетесь запустить программу из каталога, в котором находится файл класса, а не из базы пакета.

В вашем случае у вас есть каталог:

/ некоторые / путь / к / udpprobe / клиент /

С:

UDPClient.class

файл и, возможно, также:

UDPClient.java

файл. Вы получите эту ошибку, если в UDPClient.java указан пакет udpprobe.client и вы попытаетесь выполнить его из своего собственного каталога, например так:

/ some / path / to / udpprobe / client $ java UDPClient

Однако, если вы перейдете в базовый каталог пакета и выполните полное имя, оно должно работать:

/ some / path / to $ java udpprobe.client.UDPClient

...