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