Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何正确配置Java导入语句中缺少的符号?_Java_Import_Base64_Classpath - Fatal编程技术网

如何正确配置Java导入语句中缺少的符号?

如何正确配置Java导入语句中缺少的符号?,java,import,base64,classpath,Java,Import,Base64,Classpath,我最近犯了一个错误: chan@TakShing:~/Desktop/Java$ javac test.java test.java:16: error: cannot find symbol String encoded = Base64.encodeBase64String( user_pass.getBytes() ); ^ symbol: variable Base64 location: class test 1 error 所以我浏览了

我最近犯了一个错误:

chan@TakShing:~/Desktop/Java$ javac test.java
test.java:16: error: cannot find symbol
String encoded = Base64.encodeBase64String( user_pass.getBytes() );
                 ^
  symbol:   variable Base64
  location: class test
1 error
所以我浏览了很多网站,发现你必须下载我的源文件:

我在“源代码”下下载了“commons-codec-1.10-src.tar.gz”,但我完全被困在如何继续进行连接所有东西的最后一步上。我现在也在Ubuntu上


我承认我看到一些帖子说要设置类路径,但我不明白,因为我找到的所有答案都是“setclassapth”,就是这样。问题是我不知道该怎么做,我完全是个业余爱好者,尤其是在Ubuntu上。有人能帮我吗?

如果您已经安装了java JDK,则无需下载任何软件包或任何东西。您刚刚忘记导入Base64包

在文档顶部,写下:
导入java.util.Base64
,您应该会很好


更新 我重新编写了您的代码以符合


如果您已经安装了JavaJDK,则无需下载任何软件包或任何东西。您刚刚忘记导入Base64包

在文档顶部,写下:
导入java.util.Base64
,您应该会很好


更新 我重新编写了您的代码以符合



不要下载src,而是获取commons编解码器的编译版本。然后提取归档文件,在里面你应该会找到一个jar文件,你需要添加到你的类路径中。我今天只安装了让java在ubuntu上运行所需的所有东西,所以如果我必须手动创建的话,我不确定类路径是否存在?你有几个选择;maven是一个复杂的构建工具,可以为您完成这项工作。至少,您应该阅读Java教程的部分。请注意
user\u pass.getBytes()
是危险的。它将使用底层平台的默认字符集将字符转换为字节,这意味着您将在不同的机器上为相同的值获得不同的字节。强烈建议使用
user\u pass.getBytes(StandardCharsets.UTF\u 8)
代替。不要下载src,而是获取commons编解码器的编译版本。然后提取归档文件,在里面你应该会找到一个jar文件,你需要添加到你的类路径中。我今天只安装了让java在ubuntu上运行所需的所有东西,所以如果我必须手动创建的话,我不确定类路径是否存在?你有几个选择;maven是一个复杂的构建工具,可以为您完成这项工作。至少,您应该阅读Java教程的部分。请注意
user\u pass.getBytes()
是危险的。它将使用底层平台的默认字符集将字符转换为字节,这意味着您将在不同的机器上为相同的值获得不同的字节。强烈建议使用
user\u pass.getBytes(StandardCharsets.UTF\u 8)
来代替。我只下载了源代码,我正在尝试使用“import org.apache.commons.codec.binary.Base64”;尝试改用
java.util.Base64
。无论从何处获得,编码都是base64,因此两者都应该可以工作,但这样就不需要安装任何额外的包和多余的导入。还是我没有抓住要点?我正在尝试使用函数'Base64.encodeBase64String()“检查我所做的更新。我猜您是在上一篇文章中找到ApacheBase64包的,但现在它已经相当过时了。请尝试代码。它将使您免于类路径等带来的痛苦。谢谢!这为我节省了很多麻烦,如果我一直在搜索如何做到这一点,可能会更麻烦。我只下载了源代码,我正在尝试使用“import org.apache.commons.codec.binary.Base64”;尝试改用
java.util.Base64
。无论从何处获得,编码都是base64,因此两者都应该可以工作,但这样就不需要安装任何额外的包和多余的导入。还是我没有抓住要点?我正在尝试使用函数'Base64.encodeBase64String()“检查我所做的更新。我猜您是在上一篇文章中找到ApacheBase64包的,但现在它已经相当过时了。请尝试代码。它将使您免于类路径等带来的痛苦。谢谢!这为我节省了很多麻烦,如果我一直在寻找如何做到这一点,可能会更麻烦。
import java.util.Base64;

String encoded = Base64.getEncoder().encodeToString(user_pass.getBytes());