当前位置: 首页 > 知识库问答 >
问题:

'Code Runner'扩展在运行包/文件夹内的Java程序时显示"无法找到或加载主类"。(VScode)

姜宏盛
2023-03-14

当我尝试通过“代码运行程序”扩展运行我的Java程序时,它在包/文件夹内,它显示错误“无法找到或加载主类”。

但是,如果我通过标记为“run | Debug”的命令运行同一个程序,程序就会成功运行。如果类在文件夹外,它也会在代码运行器上成功运行。

这里有一些图片可以更清楚地显示我的问题。

当类位于文件夹中时,这一个将通过代码运行器运行

这里不行

当类在文件夹之外时,这个是通过代码运行器运行的

它在这里起作用

这个是通过main函数上的run按钮运行的,它通过终端运行程序。

它在这里起作用

白线和黑线是为了隐藏一些个人信息。

“代码运行器”扩展是否有问题?顺便说一句,“Code Runner”可以毫无问题地运行Python、C、C。即使它们在这些语言的文件夹中,它也能很好地工作。

共有1个答案

顾烨磊
2023-03-14

作为测试,我创建了以下目录结构:

Test
├── Test1.java
└── Test2
    └──Test2.java

如您所述,编译通常在第一级目录中运行,但在第二级目录中发生错误。

这并不完全是Code Runner扩展的问题,Java语言本身也有语言规范。

作为测试,您可以使用javac和java命令直接从命令行运行程序。

我们可以看到,在二级目录中,编译成功,但操作失败。

使用代码块上的run按钮运行成功。我们观察了命令行代码,发现它没有在辅助目录中运行代码,它指定了类路径。

回过头来,我们回到命令行上的一级目录,再次运行java命令,操作成功。

因此,我们看到代码运行器执行的命令是直接在当前目录中运行javac和java命令,因此操作失败。

正如你所说,像python这样的语言没有这个问题。因为他们没有这种语言规范。

 类似资料:
  • 我知道这是一个常见的问题,但我已经尝试了很多事情来使这起作用。 主类名:Test 我包含了带有属性的,如下所示: null 在我的部署简介中,我包括: lib目录 文件的组贡献者(,我正在使用的一个外部)的所有合并内容 注意:我使用的是JDeveloper12c IDE 无法运行jar文件:无法找到或加载主类Hello

  • 我有两个套餐和课程第一个套餐 D:\User\java\java\u programs\mypackage\A.java C中还有一个B类:\Package1\B. java 我编辑 C+++包 它为A.java和B.java创建了类文件 但我不能运行我的代码 我试过了 但是错误 错误:无法找到或加载主类包1。B

  • 我用的是软呢帽19。HelloWorld的内容。爪哇: 我可以使用 javac HelloWorld。JAVA 但我无法使用 java HelloWorld 它给出了以下错误 错误:无法找到或加载主类HelloWorld 但我可以用 sudo java HelloWorld 我错过了什么???

  • 我整个下午都在寻找如何运行我正在开发的Spring Boot应用程序的JAR。 通过mvn清理包命令生成JAR。JAR是在目标文件夹中生成的,所以我在这个文件夹中运行CMD并键入java-jarapptest.jar 错误:无法找到或加载主类br.com.myapp.Application 当我直接在eclipse上运行应用程序时,它运行得非常好。 你能帮帮我吗? pom.xml Applicat

  • 首先,我知道这个问题经常被问到。但我的问题不同,所以请耐心看完整的描述。 而且布景似乎还不错。以前对我有用。但我运行了构建的jar,它表明“无法运行或加载主类”。 我发现如果我删除这些文件除了Manifest.mf。它可以很好地工作。我不知道设置有什么不同。 重建项目或重建工件jar。 但不是所有的方法都能奏效。并且我尝试在intellij中用相同的设置在MAC OS和windows OS中构建j

  • 我是java的新手,在执行class/jar文件时遇到了同样的问题,即得到的错误是“Could not find or load main class com.finance.LoanProcessor”,其中com.finance.LoanProcessor是我的完全限定类名。我已经创建了许多其他示例项目,并且可以在其中执行class/jar文件。只有这个项目引起了这个问题。 下面是我从Java