Я надеюсь, что ответ будет тупо простой, но я не могу получить следующую тестовую программу, работающую за счет ClassNotFound исключения:Не можете решить ClassNotFound Exception
import java.net.URL;
import net.sourceforge.spnego.SpnegoHttpURLConnection;
public class HelloKeytab {
public static void main(final String[] args) throws Exception {
System.setProperty("java.security.krb5.conf", "krb5.conf");
System.setProperty("sun.security.krb5.debug", "true");
System.setProperty("java.security.auth.login.config", "login.conf");
SpnegoHttpURLConnection spnego = null;
try {
spnego = new SpnegoHttpURLConnection("spnego-client");
spnego.connect(new URL("http://as1.test.local/hello_spnego.jsp"));
System.out.println("HTTP Status Code: "
+ spnego.getResponseCode());
System.out.println("HTTP Status Message: "
+ spnego.getResponseMessage());
} finally {
if (null != spnego) {
spnego.disconnect();
}
}
}
}
я установил JDK7 и установить переменную JAVA_HOME
среды в качестве администратора , Я работаю на компьютере под управлением Windows XP как обычный пользователь домена во время компиляции и запуска.
У меня есть spnego-r7.jar
в том же каталоге, что и HelloKeytab.java
и я скомпилирован с:
javac -cp .;spnego-r7.jar HelloKeytab.java
, который успешно создает класс.
При запуске программы с:
java -cp .;spengo-r7.jar HelloKeytab
Я получаю следующее сообщение об ошибке:
Exception in thread "main" java.lang.NoClassDefFoundError: net/sourceforge/spneg
o/SpnegoHttpURLConnection
at HelloKeytab.main(HelloKeytab.java:15)
Caused by: java.lang.ClassNotFoundException: net.sourceforge.spnego.SpnegoHttpUR
LConnection
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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
spnego-r7.jar
можно найти здесь: http://sourceforge.net/projects/spnego/files/
Что я делаю неправильно, что оно не нашел мой класс?
Это работает для меня. Вы уверены, что банка находится в папке? –
Не могли бы вы предоставить полный путь к файлу jar? –
Strangest предмет. Я скопировал все файлы из каталога пользователя \ Мои документы в C: \ test \, и ошибка пути к классу исчезла даже без указания полного пути jar. –