我正在尝试在 Ubuntu 18.04 中的 NetBeans 上运行一个简单的程序:
package testing1;
public class Testing1 {
public static void main(String[] args) {
// TODO code application logic here
System.out.println("Zulfi");
}
}
Netbeans的版本详细信息如下:
[quote]产品版本:Apache NetBeans IDE 10.0(Build 20190203-debian-10.0)Java:11.0.10;OpenJDK 64 位服务器 VM 11.0.10+9-Ubuntu-0ubuntu1.18.04 运行时:OpenJDK 运行时环境 11.0.10+9-Ubuntu-0ubuntu1.18.04 系统:在 amd64 上运行的 Linux 版本 4.15.0-135-generic;UTF-8;en_US (nb) 用户目录:/home/zulfi/.netbeans/10.0 缓存目录:/home/zulfi/.cache/netbeans/10.0[/quote]
我遇到了类路径问题,
“无法访问 java.lang 无法在 classath 中找到包 java.lang
我的系统上已经安装了 java。我在安装 Netbeans 之前安装了 java。我检查了 java 和 javac 命令的版本:
$ java -版本
openjdk 版本“11.0.10” 2021-01-19 OpenJDK 运行环境(版本 11.0.10+9-Ubuntu-0ubuntu1.18.04) OpenJDK 64 位服务器 VM(版本 11.0.10+9-Ubuntu-0ubuntu1.18.04,混合模式,共享) @lc2530hz:~$ javac -version javac 11.0.10
现在我找到了存储java的位置:即/usr/lib/jvm它包含:
@lc2530hz:/usr/lib$ ls jvm
默认-java java-11-openjdk-amd64
java-8-openjdk-amd64 java-1.11.0-openjdk-amd64 java-1.8.0-openjdk-amd64 openjdk-11
现在 NetBeans 产品版本显示:
Java:11.0.10;OpenJDK 64 位服务器 VM 11.0.10+9-Ubuntu-0ubuntu1.18.04
我检查了 openjdk-11 文件夹:
/usr/lib/jvm/openjdk-11$ ls src.zip zulfi@lc2530hz:/usr/lib/jvm/openjdk-11$
我不记得我是否解压了上述文件夹
然后我检查了 /usr/lib/jvm/java-11-openjdk-amd64 文件夹:
$ ls /usr/lib/jvm/java-11-openjdk-amd64
bin conf 文档包括 jmods 合法 lib man 发布
因此我决定使用 /usr/lib/jvm/java-11-openjdk-amd64 作为 JAVA_HOME 的路径
$ echo $JAVA_HOME /usr/bin/java @lc2530hz:/usr/lib/jvm/java-11-openjdk-amd64$ 导出 JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 @lc2530hz:/usr/lib/jvm/java-11-openjdk-amd64$ echo $JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64 @lc2530hz:/usr/lib/jvm/java-11-openjdk-amd64$ netbeans
但我仍然遇到同样的错误。
我第一次在 ubuntu 18.04 上运行 Netbeans,因此遇到了 java.lang 问题。Netbeans 无法识别“String”类。
请有人指导我。祖尔菲。
答案1
NetBeans 曾经在 Ubuntu 中运行,但当前的 NetBeans apt 包存在错误,在 Ubuntu 中完全无法使用。NetBeans IDE 显示一个灰色的进度条,表示它似乎正在下载软件,但它永远不会完成所有软件的下载,而且无论下载了多少软件都无法正常工作。
我建议使用 BlueJ,这是一个更简单的 Java IDE,开箱即用,无需配置。要安装 BlueJ,请打开终端并输入:
sudo snap install bluej
启动 BlueJ IDE,并启动一个名为 testing1 的新项目。
创建一个名为Testing1的新类。
将您的 Java 代码复制/粘贴到 Testing1 中。您问题中的 Java 代码运行良好,因此您可以将所有内容复制/粘贴到 Testing1 中,但不要粘贴第一行
package testing1;
因为您在 BlueJ 中不需要它。右键单击 Testing1 程序图标并选择编译Testing1 将会编译,并且 Testing1 程序图标将会由阴影变为无阴影,以显示已成功编译。
右键单击 Testing1 程序图标并选择无效的主要(字符串[]参数)如下图所示。请注意,在屏幕截图中,Testing1 图标没有阴影,这意味着它已被编译。
单击右下角的“确定”按钮。将打开一个新的 BlueJ 终端窗口,其中包含运行 Java 程序的结果。
如果这对您来说太复杂,Java 11 包含一个名为 JShell 的功能。Java Shell 工具 (JShell) 是一个用于学习 Java 编程语言和原型化 Java 代码的交互式工具。JShell 是一个读取-求值-打印循环 (REPL),它在输入声明、语句和表达式时对其进行求值并立即显示结果。JShell 还可以运行 Java 代码块。JShell 解释器通过执行命令从终端运行,并 在运行时jshell
向您显示提示。jshell>
默认情况下,你会在 JDK 11 中获得一组常见的导入:
jshell> /imports
| import java.io.*
| import java.math.*
| import java.net.*
| import java.nio.file.*
| import java.util.*
| import java.util.concurrent.*
| import java.util.function.*
| import java.util.prefs.*
| import java.util.regex.*
| import java.util.stream.*
您可以随时添加自己的内容。