简体   繁体   English

添加类路径时出现java.lang.NoClassDefFoundError

[英]java.lang.NoClassDefFoundError when adding a classpath

Code: 码:


import org.apache.commons.codec.binary.Base64;

import java.io.UnsupportedEncodingException;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.SecureRandom;
import java.security.spec.InvalidKeySpecException;
import java.util.Arrays;

import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.SecretKeySpec;

public class AESTest 
{ 
    public static void main(String [] args)
    {
        String enc = AESEncryptToBase64("000000", "XJ5QJSVMKZGBOQO7HMSIJO5BERW2OYWDVNPM3BH32NLSWUCNJ4FIP3BML7EKUBNO");
        System.out.println(enc);
    }

    /**
     * 
     * @param secret
     * @param cleartext
     * @return encrypted b64 string
     */
    public static String AESEncryptToBase64(String secret, String clearText) {
        byte[] rawKey = new byte[32];
        java.util.Arrays.fill(rawKey, (byte) 0);
        byte[] secretBytes = secret.getBytes();
        for(int i = 0; i < secretBytes.length; i++){
            rawKey[i] = secretBytes[i];
        }

        SecretKeySpec skeySpec = new SecretKeySpec(rawKey, "AES");
        try{ 
            Cipher cipher = Cipher.getInstance("AES");
            cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
            byte[] encryptedData = cipher.doFinal(clearText.getBytes());
            if(encryptedData == null) return null;
            // return "l";
            return Base64.encodeBase64String(encryptedData);
        } catch (Exception e){
            e.printStackTrace();
        }
        return null;      

    }
}

Compile And run: 编译并运行:


 $ javac -cp "commons-codec-1.7.jar" AESTest.java 
 $ java -cp "commons-codec-1.7.jar" AESTest
 Exception in thread "main" java.lang.NoClassDefFoundError: AESTest
 Caused by: java.lang.ClassNotFoundException: AESTest

Here's the apache-commons-codec: http://apache.mirrors.pair.com//commons/codec/binaries/commons-codec-1.7-bin.zip 这是apache-commons-codec: http : //apache.mirrors.pair.com//commons/codec/binaries/commons-codec-1.7-bin.zip

Include . 包括. into your classpath: java -cp ".:commons-codec-1.7.jar" AESTest 到您的类路径中: java -cp ".:commons-codec-1.7.jar" AESTest

This will tell JVM to include classes from current folder to classpath 这将告诉JVM包括从当前文件夹到类路径的类

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 带有java.lang.NoClassDefFoundError的Java ClassPath - Java ClassPath with java.lang.NoClassDefFoundError java.lang.NoClassDefFoundError:如何获取类路径? - java.lang.NoClassDefFoundError : How to get classpath in? HBase java.lang.NoClassDefFoundError类路径错误 - HBase java.lang.NoClassDefFoundError classpath error 不正确的类路径会导致java.lang.NoClassDefFoundError - Incorrect classpath causing java.lang.NoClassDefFoundError Java- java.lang.NoClassDefFoundError,类路径不是问题 - Java- java.lang.NoClassDefFoundError, classpath not the issue 使用命令行运行时出现“java.lang.NoClassDefFoundError: javassist/ClassPath”的奇怪异常 - strange exception of “java.lang.NoClassDefFoundError: javassist/ClassPath” when running with commandline 错误的类路径声明获取java.lang.NoClassDefFoundError - Wrong classpath declaration gets a java.lang.NoClassDefFoundError 得到 java.lang.NoClassDefFoundError: scala/Serializable with scala jars in classpath - got java.lang.NoClassDefFoundError: scala/Serializable with scala jars in classpath 运行时java.lang.NoClassDefFoundError:需要类不在类路径上 - java.lang.NoClassDefFoundError at Runtime: Need Class not on Classpath Mac索引和CLASSPATH问题-java.lang.NoClassDefFoundError - Mac Indexing and CLASSPATH problems - java.lang.NoClassDefFoundError
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM