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 .. 全部用Path JAVA_HOME完成.. 还是个例外.. 帮助...... !!!!!
JAVA_HOME=
C:\ Program Files \ Java \ jdk1.6.0_45 \其中安装了java ..
PATH=
C:\ Program Files \ Java \ jdk1.6.0_45 \ bin;
CLASSPATH=
%CATALINA_HOME%\ lib \ servlet-api.jar; C:\ Program Files \ Java \ jdk1.6.0_45 \ bin;
编译命令:
javac MD5.java
运行命令:
java MD5
答案 0 :(得分:0)
您需要告诉java它可以在哪里找到类(或者更确切地说,是包树的根)。 Sinc eyour类在默认包中,位于运行java命令的目录中,您只需要
java -classpath . MD5
或
java -cp . MD5
您永远不应该依赖全局CLASSPATH环境变量。只要有两个不同的Java应用程序,这样做就是一场噩梦。 JDK bin文件夹在类路径中无关。
请注意,使用默认包是一种非常糟糕的做法,并且您永远不应将自己的文件放在安装Java的目录中。
答案 1 :(得分:0)
在.
环境值中添加CLASSPATH
,告诉jvm查看该类的当前目录。
像:
CLASSPATH=%CATALINA_HOME%\lib\servlet-api.jar;C:\Program Files\Java\jdk1.6.0_45\bin;.;
或者按照@JB Nizet的回答