使用IntelliJ IDEA运行Maven项目

28

我是第一次使用IntelliJ IDEA,想要用它来运行一个简单的Maven Quickstart项目。

我按照所有指示进行了操作,并成功构建了项目。但是当我尝试编译并运行时,Run按钮没有被激活。

看起来IntelliJ IDEA无法找到主类所在的位置。

这是该项目层次结构的图片。

enter image description here

问题出在哪里?我该如何解决?

谢谢!


如果刷新Maven项目无效,请参考此答案进行诊断。 - CrazyCoder
你是如何创建这个项目的?你的JDK设置正确吗?如果你有一个有效的jdk,那么右键点击java文件夹,选择"Mark Directory as...",然后选择"Source Root"。希望它能正常工作。 - hevi
@hevi,请查看我在CoDel的下面评论中的留言。 - user1885868
@CrazyCoder,它起作用了!你能把它发布为答案吗? - user1885868
7个回答

22

Maven Projects 工具窗口中刷新 Maven 项目(重新导入所有 Maven 项目)。如果这无法解决问题,请参考此答案以进行诊断

重新导入

问题在于由于某些原因,Maven 模型中没有正确配置源根目录,因此.java 文件出现在普通目录中而不是源根目录中。

您可以通过文件夹的颜色和文件的图标来确认此情况。


11

您需要创建一个Java项目。

文件->新建->项目->Java->下一步->下一步->完成

然后转到顶部,进行以下操作:

右键单击项目的父文件夹->添加框架支持->点击Maven->确定

现在Maven应该已经添加到您的项目中,并且您也应该能够运行它

如果这样不能让您运行项目,请单击灰色的运行按钮左侧的小下拉框,然后单击编辑配置。

然后单击+并单击Application,将主类设置为具有主方法的类,然后就可以运行应用程序。

希望这可以帮助到您!


我已经尝试过了,但它没有接受我的Main类。 - user1885868
1
有趣的是,我刚刚复制了你的代码,我的代码完美地运行了。上面被接受的答案应该会帮助你解决问题。 - LJP1203
谢谢,这对我有用,只是默认情况下IntelliJ设置了Java版本为1.5,要更改请转到文件->设置,构建、执行、部署->编译器->Java编译器。 - Juan Rojas

2

看起来你的java目录没有标记为源根目录。右键单击它,然后单击标记目录为 -> 源根目录


1

您是否已将项目导入为Maven项目?如果是,请单击函数主体,然后执行CTRL+MAJ+F10或MAJ+F10。


我使用IntelliJ的向导文件-->新建-->项目-->Maven创建了一个新项目,我已经尝试过那些命令但都没有起作用。它确实要求我编辑运行配置,但再次出现问题,它不接受App.java类作为主类。 - user1885868
你设置了JDK吗? - CoDel
是的,我有 1.8 - user1885868

1
我的问题是我在寻找从控制台/终端调用“mvnw”的等效方法。
.mnvw (linux) OR mvnw (windows)

我不知道在IntelliJ中这个位置在哪里。这是我理解被问的问题的一部分。

对我来说,解决方案并不明显,所以我想分享一下。

概念上,你想要运行默认的maven配置(而不是特定的生命周期阶段)。因此,你需要在Maven面板中选择根条目:

Select Root Entry in Maven Panel

然后您可以在面板上播放绿色播放按钮:

Run Maven Build

或者,您可以右键单击并从上下文菜单中运行maven构建。

Run from Context Menu


1
如果 Maven 在右上方不可见,则您的 IntelliJ IDE 中没有可用的 Maven 插件。
请按照以下步骤操作: 点击设置图标(右上方)-> 选择插件 -> 在 Maven 选项处勾选复选框 -> 点击应用按钮,然后点击确定按钮。
几分钟后,您就能在 IDE 中看到 Maven 了。

0

你需要将项目添加到Jetty或Tomcat中(编译成WAR文件并使用该WAR文件运行Tomcat服务器)。

如果你有Jetty Maven插件,你可以通过mvn jetty:run命令来运行应用程序(将其添加到Maven运行配置中)。


1
我想要创建的项目是一个纯Java项目,那么为什么需要Tomcat或Jetty呢? - user1885868
1
如果您不喜欢Tomcat或Jetty,您也可以像这样做;):https://dev59.com/HGkw5IYBdhLWcg3wg6yg#9846103 - hya
看起来很有趣!我会调查一下。谢谢兄弟! - user1885868

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接