首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么在设置代码编译ok和类路径时找不到base64类?

为什么在设置代码编译ok和类路径时找不到base64类?
EN

Stack Overflow用户
提问于 2014-09-22 01:11:37
回答 1查看 3.3K关注 0票数 1

为什么下面的代码会出现错误

线程“C:\temp>java”中的xxx异常:org/apache/ -cp /co dec/二进制/Base64 64 at Test.main(Test.java:22),原因是: java.lang.ClassNotFoundException: org.apache.commons.codec.binary.Bas e64 at Test.main at java.net.URLClassLoader$1.run(URLClassLoader )( java.security.AccessController.doPrivileged(Native方法)在java.net.URLClassLoader.findClass(URLClassLoader.java:354),在java.lang.ClassLoader.loadClass(ClassLoader.java:425),在sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308),在java.lang.ClassLoader.loadClass(ClassLoader.java:358) .

代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import org.apache.commons.codec.binary.Base64;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;


public class Test {

    public static void main(String[] args) {

        try {
            String webPage = "xx";
            String name = "xxx";
            String password = "xx";

            String authString = name + ":" + password;
            System.out.println("auth string: " + authString);
            byte[] authEncBytes = Base64.encodeBase64(authString.getBytes());
            String authStringEnc = new String(authEncBytes);
            System.out.println("Base64 encoded auth string: " + authStringEnc);

            URL url = new URL(webPage);
            URLConnection urlConnection = url.openConnection();
            urlConnection.setRequestProperty("Authorization", "Basic " + authStringEnc);
            InputStream is = urlConnection.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);

            int numCharsRead;
            char[] charArray = new char[1024];
            StringBuffer sb = new StringBuffer();
            while ((numCharsRead = isr.read(charArray)) > 0) {
                sb.append(charArray, 0, numCharsRead);
            }
            String result = sb.toString();

            System.out.println("*** BEGIN ***");
            System.out.println(result);
            System.out.println("*** END ***");
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-22 01:17:44

尝试将cp标志放在类名之前的命令中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java -cp commons-codec-1.9.jar Test

这是来自java命令:

用法: java -options类args...

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25970388

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文