【发布时间】:2015-10-20 17:51:18
【问题描述】:
我的基本工作流程在我的基本目录上的终端 mvn clean install 中。这将创建一个带有 WAR 文件的目标目录。我将该 war 文件复制到我的 Tomcat 的 webapps 目录中。
如果我做出改变,我显然必须重复这个乏味的过程。我正在使用 Intellij Ultimate 13.1.6,我知道可以通过基于 this guide 的 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 目录都没有。
我做错了什么?我知道一种解决方法是返回终端,运行 mvn clean install 并使用创建的 .war 文件将其放入部署配置中。我觉得这更像是一种 hack,因为我仍在通过命令行进行操作,如果我还没有构建它,我无法将目标设置为目录来查找 war 文件。
感谢任何帮助。
【问题讨论】:
-
神秘地,
war不起作用。但是war-exploded会起作用。 -
这里有一个有效的答案:stackoverflow.com/a/67078989/10499624
标签: java maven tomcat web-applications intellij-idea