java - 无法解决 Classnotfound 异常

标签 java classnotfoundexception spnego

我希望答案非常简单,但由于 classnotfound 异常,我无法运行以下测试程序:

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.jarHelloKeytab.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/

我做错了什么,它找不到我的类(class)?

最佳答案

NoClassDefFoundError 总是由于不正确或不完整的构建或类路径中的错误而导致。

收到此错误时,我总是检查以下 list :

  • 清洁项目
  • 检查文件和目录
  • 检查构建路径

再试一次。从未失败。 :)

关于java - 无法解决 Classnotfound 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18775216/

相关文章:

java - 检测异步 JMS MessageConsumer 何时出现异常?

java - 小程序嵌入标记返回 ClassNotFoundException

git - 如何强制 Git(2.5+)HTTP 传输更喜欢 SPNEGO 而不是基本身份验证?

java - 如何仅使用 java 正则表达式匹配字母,匹配方法?

java - 椭圆不会出现在 jframe 上

Java 线程异常终止并出现消息为 null 的异常。

android - java.lang.NoSuchMethodException : addFontWeightStyle Error

xslt - 使用 JDK 内部 Xalan 和 SecurityManager 从 XSL 样式表内部加载外部 Java 方法

java - 来自 Linux 客户端的请求出现 SPNEGO/Kerberos No credential found 错误

websphere - 是否可以在不考虑完全限定主机名的情况下配置 SPENGO