我正在开发一个基于木兰花的网站。我正在使用webapp原型创建一个新的web应用程序。使用命令行,我能够生成一个WAR并将其部署到我的容器(Tomcat)中。然后我运行它,它工作得很好。
我的下一步是将项目结构导入到IntelliJ中。IntelliJ认为一切都很好,并且能够对其进行编译。我已经测试了这一点,首先做了一个maven清理,然后让IntelliJ做剩下的事情(重建项目)。
最后一步是让它在我的容器中运行。我之前已经为web应用程序设置了运行配置(它们不使用war覆盖),它们工作得很好。在本例中,我像以前一样设置它,并指向我爆炸的webapp工件。
一旦我运行tomcat,它就找不到我的webapp了。我发现overlay还没有合并到项目的目标目录中(这通常是执行maven install时的情况)。然而,IntellJ在我的项目中创建了一个覆盖目录,并在其中解压(覆盖/超级) WAR文件。
当我自己安装maven,然后在IntelliJ中运行Tomcat时,我会让它正常工作。这是显而易见的,因为所有类型的所需文件现在都在我的目标目录中(就像web.xml,例如:)。
我想要的是:- IntelliJ知道当它运行Tomcat时,它应该像"mvn install“或"mvn package”一样准备好目标目录。
它做什么:-它做一些介于两者之间的事情。它确实创建了一个目标目录,并且从webapp项目复制了资源。它不会覆盖任何WAR依赖项,因此webapp目标目录是不完整的。
有人有解决这个问题的建议吗?
发布于 2011-09-21 18:42:25
我发现在运行配置中选中"run maven that“复选框并设置mvn包确实可以使其正常工作。
https://stackoverflow.com/questions/7497686
复制相似问题