使用 Intellij 构建战争并部署到 Tomcat
我的基本工作流程位于基目录的终端中。这将创建一个包含 WAR 文件的目标目录。我将该战争文件复制到我的Tomcat的webapps目录中。mvn clean install
如果我进行更改,我显然必须重复繁琐的过程。我正在使用Intellij Ultimate 13.1.6,我知道可以根据本指南通过IDE完成所有这些操作。
因此,在我开始之前,我在我的基础上运行,这会删除目标目录。mvn clean
现在开始我进入项目结构 - >工件并创建了一个新的Web应用程序:存档。我project_name命名它,默认情况下它有一个不同的输出目录(baseDir/out/artifacts/project_name vs baseDir/target),我把所有内容都留为默认值并点击确定。
现在我转到运行 -->编辑配置并使用以下设置创建新的本地 Tomcat 服务器
在“部署”选项卡中,我添加了在我的“启动之前”中构建的项目,如我的图片所示。非常简单。
但是,每当我通过Intellij运行服务器时,它都会成功启动,但不会部署任何内容。我收到错误:
Artifact project_name: com.intellij.javaee.oss.admin.jmx.JmxAdminException: com.intellij.execution.ExecutionException: /Users/path/to/workspace/project_name/out/artifacts/project_name/project_name.war not found for the web module.
我仔细检查了我的目录,如错误所示,没有创建任何内容。甚至没有out目录。
我做错了什么?我知道一种解决方法是返回终端,运行并使用创建的.war文件将其放入部署配置中。我觉得这更像是一个黑客,因为我仍然通过命令行来做这件事,如果我还没有构建它,我无法将目标设置为查找war文件的目录。mvn clean install
任何帮助是值得赞赏的。