尝试从intellij的嵌入式终端执行Java程序时,为什么必须添加类路径?

时间:2019-01-23 22:53:01

标签: java intellij-idea

我刚刚开始使用Intellij,并希望从嵌入式终端运行一个简单的Java程序。我正在使用Ubuntu

Main.java位于〜/ IdeaProjects / Test0 / src / app

从嵌入式终端,使用javac编译后,我尝试。

~/IdeaProjects/Test0/src$ java app.Main

结果是

Error: Could not find or load main class app.Main
Caused by: java.lang.ClassNotFoundException: app.Main

这是代码

package app;

public class Main {

    public static void main(String[] args) {
    // write your code here
        System.out.println("Hello World!");
    }
}

但是当我在实际终端的相同目录中执行相同命令时。该程序运行正常。

通过使用IntelliJ IDEA中的运行按钮。它在嵌入式终端中执行命令。

usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -javaagent:/snap/intellij-idea-community/113/lib/idea_rt.jar=40685:/snap/intellij-idea-community/113/bin -Dfile.encoding=UTF-8 -classpath /home/user/IdeaProjects/Test0/out/production/Test0 app.Main

这很好用。

为什么intellij需要声明类路径才能起作用?为什么不能使用java app.Main执行它?

1 个答案:

答案 0 :(得分:0)

让我假设需要解决的原始问题只是运行您的代码。 IntelliJ是一个IDE,它解决的问题之一是您不再需要从命令行运行代码。

您可以通过以下方式导入和运行代码:

  1. 点击文件/打开
  2. 在项目文件夹中浏览Main.java
  3. 右键单击主文件
  4. 选择运行Main.main()

您将在IDE底部弹出的“运行”框中看到结果。 从现在开始,您可以通过点击屏幕右上角的绿色播放按钮来重新运行该视频。

Here is a playlist了解更多信息。