在IntelliJ中使用Maven在Tomcat中运行应用程序

15
不使用Maven,在Intellij IDE上运行应用程序时,只需创建一个“tomcat”运行配置项和一个与该配置项相对应的构件,这样就可以在IDE中查看tomcat输出、重启服务器以及其他操作。
现在使用Maven,则不需要创建构件,因为Maven已经完成了编译、打包等工作。
我知道可以使用命令mvn tomcat7:redeploy来部署它,但这种方式无法查看标准输出/错误和进行调试。 那么,在IntelliJ中运行应用程序的标准方法是什么,而不必创建构件?

没有标准的方法,你尝试了什么? - user2173738
3个回答

10

pom.xml 中添加

<build>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <uriEncoding>UTF-8</uriEncoding>
                    <path>/your-path</path>
                    <update>true</update>
                </configuration>
            </plugin>
</build>
在IntelliJ中,打开 菜单 > 查看 > 工具窗口 > Maven项目。
Plugins > tomcat7 > tomcat7:run

谢谢,它起作用了。我已经为你的答案点赞,但我选择了Amilas的答案作为被接受的,因为这样我就不必声明一个Maven插件。 - Mateus Viccari

6
如果您已经设置了
<packaging>war</packaging>

在您的pom文件中,IDEA应该自动识别要部署的构件(即WAR文件),无需手动创建构件。

我已经有了这个设置,但是如果我尝试为Tomcat服务器创建运行/调试配置,它会不断显示“警告:未配置工件”。也许我应该使用其他类型的运行/调试配置而不是Tomcat,但是哪一个呢? - Mateus Viccari
"tomcat服务器"是正确的类型。只需进入运行/调试配置的“部署”选项卡,然后单击加号图标添加您的Maven构件即可。 - Amila
当我点击“加号”图标时,唯一的选项是“外部源”,没有Maven构件。 - Mateus Viccari
1
你有付费的IntelliJ订阅吗?我认为没有它你无法进行部署。 - Craig
我的错,IntelliJ总是基于Maven创建一个构件,我想我之前删除了它,因为现在我在pom.xml中做了一些更改,构件又被重新创建了。现在我可以正常部署它了。 - Mateus Viccari

3
当您设置这个功能时:在IntelliJ中,打开菜单>视图>工具窗口>Maven项目,您将看到此菜单:

enter image description here

当您点击这个图片时,您可以输入Maven的目标,例如tomcat7:run。

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