1、demo代码
import org.apache.commons.codec.binary.Base64;
import java.io.UnsupportedEncodingException;
import java.security.SecureRandom;
/**
* @author TODO
* @description: TODO
* @date 2019/5/28 19:58
*/
public class RandomDemo {
private static final Base64 BASE_64_ENCONDER = new Base64();
public static String getRandomCode()
{
SecureRandom random = new SecureRandom();
byte[] bytes = new byte[32];
random.nextBytes(bytes);
String rCode = null;
try
{
rCode = new String(BASE_64_ENCONDER.encode(bytes), "UTF-8");
}
catch (UnsupportedEncodingException localUnsupportedEncodingException)
{
return "";
}
return rCode;
}
public static void main(String[] args) {
for (int i = 0; i < 20; i++) {
String rCode = getRandomCode();
System.out.println(rCode);
}
}
}
2、直接使用java命令运行页面效果
3、使用java+classpath参数运行页面效果
4、总结
运行编译后的class文件时,会从jre\lib\、jre\lib\ext\、以及当前目录下查找相关的class,由于找不到org/apache/commons/codec/binary/Base64对应的class文件,所以报java.lang.NoClassDefFoundError错误。当所以classpath参数指定类路径后,即可查找到该类,所以可以正常运行,另外要注意classpath中需要添加".;",要不然会执行失败,因为找不到当前运行的RandomDemo类,会报以下错误。