当前位置: 首页 > 知识库问答 >
问题:

找不到主类:程序将存在(main()线程NoClassDefFoundError中的异常)

孟鸿朗
2023-03-14
import java.security.*;
import java.math.*;

public class MD5 {
    public static void main(String args[]) throws Exception{
        String s="Anand";
        MessageDigest m=MessageDigest.getInstance("MD5");
        m.update(s.getBytes(),0,s.length());
        System.out.println("MD5: "+new BigInteger(1,m.digest()).toString(16));
    }
}

在这段代码中,一切都很好,加上它以前是工作的,但现在我正在运行上述代码提到的异常发生。。。添加几秒钟前我安装的jdk。。所有操作均使用路径JAVA_HOME完成。。还是个例外。。帮助

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45\安装java的地方...

路径=C:\Program Files\Java\jdk1.6.0\U 45\bin;

编译命令:

javac MD5.java

运行命令:

java MD5

共有2个答案

鲁俊友
2023-03-14

添加一个<代码> 到您的环境值,它告诉jvm查找类的当前目录。

例如:

CLASSPATH=%CATALINA_HOME%\lib\servlet-api.jar;C:\Program Files\Java\jdk1.6.0_45\bin;.;

或者按照@JB Nizet回答

柴赞
2023-03-14

您需要告诉java在哪里可以找到类(或者更确切地说,包树的根)。sinc eyour class在默认包中,位于运行java命令的目录中,您只需要

java -classpath . MD5

java -cp . MD5

永远不要依赖全局类路径环境变量。一旦你有了两个不同的Java应用程序,那么这么做就是一场噩梦。JDK bin文件夹在类路径中没有任何作用。

请注意,使用默认包是一种非常糟糕的做法,并且您永远不应该将自己的文件放在安装Java的目录中。

 类似资料:
  • 线程“main”java.lang.noClassDeffounderror:Test引起的异常:java.lang.ClassNotFoundException:Test at java.net.URLClassLoader$1.run(URLClassLoader.java:202)at java.security.AccessController.doprivileged(本机方法)at j

  • 问题内容: 我在Windows 7中使用命令提示符制作了一个可执行jar 创建了.jar文件。但是当我尝试打开它时,我会看到一个弹出窗口,其中显示 但是,当我使用 在命令提示符下,它可以正常工作。这是怎么回事?我希望能够双击它。 问题答案: 哈,我发现了问题所在。我使用jdk1.7编写了程序,但安装了jre6。我去升级到jre7,现在可以正常工作了:) 的 行在命令提示符下工作,因为我的Java路

  • 问题内容: 我目前正在构建一个小的Apache-Mina Server应用程序。我正在使用Maven进行构建。当我尝试运行jar时,出现以下错误: 在Eclipse中运行不是问题。 生成的清单看起来像这样: 这是我的pom.xml(的一部分): 我在这里做错了什么? 问题答案: 从Eclipse运行时,Eclipse会为您配置类路径。因此,您不会遇到此问题。 在Eclipse之外运行时,您需要通过

  • 问题内容: 我正在用Cucumber开发我的Selenium-JVM框架,并且在运行我的第一个功能时出现错误。 请帮忙。 我如何启动功能- 右键单击功能文件 选择运行方式->黄瓜功能 立即例外- 我在代码中拥有的- Launcher.java- 功能文件- 依赖项列表已添加到列表- 我的JVM-1.7 项目中只有这么多。 请帮忙。 问题答案: 确保为Maven项目添加以下依赖项: 您可以将版本替换

  • 任何帮助都将不胜感激。

  • 如何将应用程序指向主类?谢谢