tomcat - 使用 IntelliJ 在 webapp 运行配置中使用 Maven 覆盖?

标签 tomcat maven intellij-idea overlay magnolia

我正在开发一个基于 magnolia 的网站。我正在使用 webapp 原型(prototype)创建一个新的 web 应用程序。使用命令行,我能够生成 WAR 并将其部署到我的容器 (Tomcat) 中。然后我运行它,它工作正常。

我的下一步是将我的项目结构导入 IntelliJ。 IntelliJ 认为一切都很好,并且能够全部编译。我已经通过首先执行 maven clean 测试了这一点,然后让 IntelliJ 完成其余的工作(重建项目)。

最后一步是让它在我的容器中运行。我之前已经为 Web 应用程序设置了运行配置(它们不使用 war overlays),并且它们工作得很好。在这种情况下,我像以前一样设置它并指向我分解的 webapp Artifact 。

一旦我运行 tomcat,它就找不到我的 webapp。我发现叠加层还没有合并到项目的目标目录中(这通常是在执行 maven install 时的情况)。然而,IntellJ 在我的项目中创建了一个 overlays 目录,并在其中解压了 (overlay/super) WAR 文件。

当我自己安装 maven,然后在 IntelliJ 中运行 Tomcat 时,它就可以正常工作了。这很明显,因为各种需要的文件现在都在我的目标目录中(例如 web.xml :))。

我想要的是: - IntelliJ 知道当它运行 Tomcat 时,它应该像“mvn install”或“mvn package”一样准备好目标目录。

它的作用: - 它在两者之间做了一些事情。它确实创建了一个目标目录,并且它确实从 webapp 项目复制资源。它不覆盖任何 WAR 依赖项,因此 webapp 目标目录不完整。

谁有解决这个问题的建议?

最佳答案

我发现选中运行配置中的“run maven goal”复选框并设置 mvn package 确实可以正常工作。

关于tomcat - 使用 IntelliJ 在 webapp 运行配置中使用 Maven 覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7497686/

相关文章:

Tomcat 不断覆盖 server.xml

maven - 使用 maven-jaxb2-plugin 从多个 wsdl 文件生成类

java - Intellij IDEA Maven 插件 - 管理依赖关系

maven - 类似于 intellij 的 nbactions.xml 的文件

grails - 类 'myClassName' 已存在于包 'myPackageName' 中

linux - Apache Tomcat 始终运行 3 个相同的进程

apache - 为什么这个 FilesMatch 没有正确匹配?

java - Tomcat 8 Docx4j 应用问题

java - Maven 资源插件 : how to copy resources to target folder and keep time stamps?

java - 用于编译 GUI 表单的 Ant 任务(Intellij IDEA)