我使用VSCode和Maven一起学习Java(我的javac -version是11.0.10)在macOS Big下。
当我使用"RUN“在终端中运行代码时,这是正常的,它显示在VSCode列表上。但是,它总是显示错误“无法找到或加载主类”(在中文中实际上是"找不到或無法載入主要類別hello"),以及"java.lang.NoClassDefFoundError: org/seifert/learnjava8 8/hello(错误名称:找不到或無法載入主要類別hello)“的原因。
正如您所看到的,.java文件只是一个简单的显示“hello world”的文件。
使用代码运行程序的人以前遇到过这个问题吗?我怎么解决这个问题?
发布于 2021-03-05 02:00:18
发生此错误是因为必须使用其完全限定的名称调用它。要明确的是,这个类的名称不是hello,而是org.seifert.learnjava8.hello。我创建了一个简单的maven项目,所以正确的执行命令是:
cd src\main\java文件夹javac org\seifert\learnjava8\hello.javajava org.seifert.learnjava8.hello
当涉及到代码运行程序运行java文件时,执行命令是
"code-runner.executorMap":{
"java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
}$dir表示当前打开的文件的直接路径,而javac和java命令不包括要一起编译的包,然后导致错误:

因此,解决方案将转到设置并编辑"code-runner.executorMap"
"code-runner.executorMap":{
"java": "cd /users/seiferthan/.../src/main/java && javac org/seifert/learnjava8/$fileName && java org.seifert.learnjava8.$fileNameWithoutExt",
}

发布于 2022-07-16 17:43:19
这个错误是因为它没有被它的“完全限定名”所调用。该项目必须被称为hello.java,而不是简单的hello。文件的执行命令应该是:java <directory in which your file lies> hello.java
所以您的错误应该是这样的:这张图片显示了错误。。如果您使用.java,那么问题可以解决如下:解题程序就在这张图片里。
正如您提到的,您使用代码运行程序。按照以下步骤:
Coderunner:执行者地图
"code-runner.executorMap": {
"java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
}.java,没有任何空格。那就省省吧。"code-runner.executorMap": {
"java": "cd $dir && javac $fileName && java $fileNameWithoutExt.java",
}https://stackoverflow.com/questions/66468029
复制相似问题