我正在开发一个基于magnolia的网站。我正在使用webapp原型创建一个新的Web应用程序。我能够使用命令行生成WAR文件并在我的容器(Tomcat)中部署它。然后我运行它,一切都正常。
我的下一步是将项目结构导入IntelliJ中。IntelliJ可以很好地看到所有内容,并能够编译它们。我已经通过先进行maven clean,然后让IntelliJ完成其他工作(重建项目)来测试过了。
最后一步是让它在我的容器中运行。我之前为Web应用程序设置过运行配置(它们不使用war覆盖),而且它们都可以正常工作。在这种情况下,我像以前一样设置了它,并指向我的已解压的webapp构件。
一旦我运行tomcat,它就找不到我的webapp。我发现覆盖层没有合并到项目的目标目录中(通常在只执行maven install时会这样)。但是,IntellJ在我的项目中创建了一个overlays目录,并在其中解压了(覆盖/超级)WAR文件。
当我自己执行maven install,然后在IntelliJ中运行Tomcat时,它就能正常工作。显然,因为现在我的目标目录中有各种需要的文件(例如web.xml)。
我想要的是: - IntelliJ知道当它运行Tomcat时,它应该像“mvn install”或“mvn package”一样准备目标目录。
它实际上做的是: - 它在两者之间做了一些事情。它确实创建了一个目标目录,并从webapp项目中复制资源。它没有覆盖任何WAR依赖项,因此webapp目标目录不完整。
有人有解决这个问题的技巧吗?