【问题标题】:How I run individual java file in IDEA?如何在 IDEA 中运行单个 java 文件?
【发布时间】:2021-11-27 02:57:13
【问题描述】:

我是一个 java 初学者,我下载的第一个 java IDE 是 Visual Studio Code,它非常易于使用,而且一切都是自动配置的。但是我的笔记本一直过热,所以我想试试IDEA,目前体验非常好,除了我打开一个java文件尝试在IDEA中运行时,总是弹出这个运行配置窗口,我不明白怎么配置。在 Visual Studio Code 中,我可以随时打开任何 java 文件并毫无问题地运行,但现在我必须每次都创建项目。有什么解决办法吗?

【问题讨论】:

    标签: java intellij-idea intellij-14


    【解决方案1】:

    从文件图标的外观来看:

    您的文件未被识别为项目源的一部分。检查项目设置以确保源目录设置正确。

    我还建议您查找并遵循 java 项目目录结构的约定。

    一旦你解决了源问题,你会在你的类旁边看到“运行”图标,main 方法,或者当你右键单击文件时。

    【讨论】:

      【解决方案2】:

      命令行

      要运行单个文件,不需要IDE

      在 Java 11 及更高版本中,命令行中的 java 工具可以编译和执行单文件 Java 类。见JEP 330: Launch Single-File Source-Code Programs

      如果您的名为 HelloWorld 的类位于名为 HelloWorld.java 的文件中,则在控制台类型上:

      java HelloWorld.java
      

      需要明确:java 命令行工具实际上只执行 Java 应用程序,而javac 命令行工具编译 Java 源代码。为方便起见,java 工具已得到增强,可以有效地代表您调用 javac 以获得单个文件。

      JShell

      如果您只想运行几行 Java,请尝试 JShell,这是与 Java 9 及更高版本捆绑在一起的 REPL 工具。

      见:

      Search to learn morefind tutorials

      蓝J

      使用IDE(例如IntelliJNetBeansEclipse)对于Java 新手来说可能是一项艰巨的任务。这些 IDE 是专为专业程序员设计的重型工具。

      我建议使用专为初学者设计的 IDE。 BlueJ 浮现在脑海中,专为教育目的而设计。 BlueJ 让 Java 入门变得更容易。

      如果您坚持使用 IntelliJ,请继续阅读。

      如果使用 IntelliJ,定义一个项目

      IntelliJ 不是为处理单个文件而设计的。 IntelliJ 希望您在项目中工作。

      我强烈建议您学习 Maven 的基础知识来创建和推动您的新项目。通过在 Maven 中定义您的项目,配置独立于任何一个 IDE。您可以在 IntelliJ、NetBeans 和 Eclipse 等主要 IDE 之间移动项目。

      Maven 对于下载您可能希望在工作中使用的所需库(“依赖项”)也非常有用。 Maven 擅长将您的 Java 应用程序打包为 JAR(或 WAR 或 EAR)。

      在 IntelliJ 中,选择“新建项目”。在 New Project 窗口中,单击左侧的 Maven 项。选中 从原型创建 框。滚动列表以查找 org.apache.maven.archetypes:maven-archetype-quickstart 的项目。在此之下,选择“RELEASE”项。点击下一步按钮。

      Name 字段中,输入类似MyFirstProject 的内容。点击下一步按钮。

      在 Maven 设置页面,点击完成

      等待 IntelliJ 下载一些内容并配置您的项目。最终,您应该会在 Run 窗格中看到 BUILD SUCCESS 消息。

      您还将看到显示的pom.xml 文件。 POM 包含 Maven 运行项目的设置,格式为 XML

      <maven.compiler.source><maven.compiler.target> 元素更改为您正在使用的Java 版本。当前版本是 Java 17。

      编辑pom.xml 后,寻找一个带有小Maven 图标的小浮动windoid。单击该图标让 Maven 处理您更改的 POM。稍等。

      Project 窗格中,导航到 App 文件。在那里你会看到打印“Hello World!”的代码。现在让我们运行该代码。 单击左侧的绿色三角形按钮,在装订线中,在main 方法行旁边。出现一个弹出菜单,提供 Run 项。选择该项目以立即运行应用程序。

      Run 窗格中,您应该会看到结果,Hello World! 文本。

      此时,您可以将您的单个文件添加到 Project 窗格中看到的 org.example 包中。

      顺便说一句,您可以通过上下文单击并选择重构 > 重命名...来更改该包名称。

      稍后,学习使用 IntelliJ 的Run/debug configurations 功能。

      要知道,每次您想做一个小实验时,您都不需要创建一个新项目。为此类实验创建一个项目。继续为每个实验添加新的.java 类文件。删除不再需要的旧类文件。


      最后,我建议更新 POM 中各种项目的版本。 QuickStart 原型未针对最新版本进行配置(出于我无法理解的原因)。

      当您了解单元测试时,请将 POM 中的 JUnit 4 替换为 JUnit Jupiter (Aggregator) 以使用 JUnit 5。使用 Maven 的好处之一是您可以轻松切换依赖项,例如从 JUnit 4 切换到 JUnit 5 .

      【讨论】:

      • 我认为 Maven 对于 Java 初学者来说太过分了。我喜欢 Maven,但这不是我要开始的地方。
      • @duffymo 我同意,但是当使用 Maven 与 IntelliJ 等主要 IDE 交互时,我认为是最明智的方法。我试图在步骤中明确,以尽量减少必要的学习。为了更容易上手,用户应该使用 BlueJ 而不是 IntelliJ/NetBeans/Eclipse。我会在答案中添加一个提及。
      • 我相信你错了。为什么?他正在编写没有依赖关系的实验室课程。马文有什么用?问题是他不知道 IntelliJ。
      • 谢谢,你在这里付出了很多努力。我想我仍然需要回到 VS 代码,这是我真正知道如何使用的东西。我所需要的只是一个可以随时运行任何单个 java 文件并带有终端窗口输入的 IDE,就像我以前编写 python 的方式一样,java 似乎是一种不同的语言。
      【解决方案3】:

      IDE 需要知道什么是程序的入口点,即从哪里开始运行您的代码。这就是“编辑配置”窗口希望您执行的操作。 如果您的文件“Lab3.java”在一个包中,请确保在您拥有的红色字段中完全指定该文件。否则,在不知道您的项目结构的情况下(正如另一个答案所暗示的那样),很难确定我们在这里缺少什么。

      【讨论】:

        【解决方案4】:

        当您创建 IntelliJ 项目时,在项目的根目录下添加一个目录 /src。右键单击该文件夹并告诉 IntelliJ 您希望将其标记为源根目录。目录应该变成蓝色。

        将您的包裹放在/src 下。 IntelliJ 会知道这些是 Java 文件。

        当你想用 main 方法运行一个类时,选择 Run->Edit Configurations。告诉 IntelliJ 您要添加一个应用程序。它应该会提示您包含 main 方法的类。运行它们不会有任何问题。

        【讨论】:

          【解决方案5】:

          使用 Maven 或 Gradle。确保项目配置为启用并集成了构建工具,它将自动执行基本操作。如果您不确定,请创建一个新项目并添加您的文件。步骤:

          1. 打开 IDE
          2. 新项目
          3. 从左侧栏中选择“Maven”或“Graddle”
          4. 给它一个名字和在你机器中的位置。
          5. 点击完成 现在您已准备好项目。您需要适当的方法才能在 java 中运行。一个主班。在 IntelliJ 中,您只需键入“main”,自动完成就会为您添加它,请确保您位于类 {} 的大括号内。 More info about the main class。您似乎已经确定了这一点。

          最后确保您在 IDE 中安装了 JDK。我很确定这是您的问题,请确保使用 IntelliJ 提供的选项之一。开发人员的完整指南是 here,应该可以满足您的需求。我会为初学者推荐 OpenJDK,因为它在开始时对我很有帮助,到最后它是你的选择。

          【讨论】:

            猜你喜欢
            • 2022-11-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-04-29
            • 2021-01-20
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多