我正在开发一个基于玉兰的网站。我正在使用webapp原型来创建一个新的Web应用程序。使用命令行,我能够生成一个WAR并将其部署在我的容器(Tomcat)中。然后我运行它,它工作正常。
我的下一步是将我的项目结构导入IntelliJ。 IntelliJ认为一切都很好,并且能够编译所有内容。我先测试了maven clean,然后让IntelliJ完成其余的工作(重建项目)。
最后一步是让它在我的容器中运行。我之前为网络应用设置了运行配置(他们不使用战争叠加),他们工作得很好。在这种情况下,我像以前一样设置它并指向我的爆炸式webapp工件。
一旦我运行tomcat,它就找不到我的webapp。我发现覆盖层还没有合并到项目的目标目录中(通常就是在进行maven安装时)。然而,IntellJ在我的项目中创建了一个叠加目录,并将那里的(overlay / super)WAR文件解压缩。
当我自己进行maven安装时,我得到它的工作,然后在IntelliJ中运行Tomcat。这是显而易见的,因为所有需要的文件现在都在我的目标目录中(例如,像web.xml):)。
我想要的是: - IntelliJ知道当它运行Tomcat时,它应该像“mvn install”或“mvn package”那样准备目标目录。
它的作用: - 它介于两者之间。它确实创建了一个目标目录,它确实从webapp项目中复制资源。它不会覆盖任何WAR依赖关系,因此webapp目标目录不完整。
任何人都有解决这个问题的提示吗?
答案 0 :(得分:10)
我发现在运行配置中检查“运行maven目标”复选框,并设置mvn包确实可以使它工作。