我有一个 Maven 项目,这是一个多模块项目
Mainproject
project1 - jar
project2 - jar
project3 - web
现在我完成了项目,我想在服务器上测试它,但不知道如何上传它们,在我的计算机上我添加了一个tomcat插件,它自动将war文件部署到tomcat,但服务器没有maven。
此类项目转向生产的方式是什么?
我应该上传每个模块的目标目录吗?
谢谢
最佳答案
您在这里问了几个问题。有“如何在服务器上进行测试”这一问题,还有“如何转移到生产环境”这一问题。而且它们可能完全不同。
我假设项目中的 JAR 文件由 WAR 文件使用并打包在其 WEB-INF/lib 目录中。如果我错了,那很好。只要了解这类信息就很方便。
Maven 是一个构建工具。它不是部署工具。最后你得到的是一个 WAR 文件。如果运行 mvn install (或 mvn deploy),您将获得 WAR 文件的快照版本。这适合对其他机器进行快速、临时测试。但您很可能会使用适合托管容器的方法来使它们可用。注意:Maven DEPLOY 与将 war 文件部署到 tomcat 是不同的。
在我看来,如果您要将任何东西投入生产,或者在客户面前,或者在测试组面前,您应该使用 Maven 来发布产品。也就是说,使用发布插件(通过release:prepare 和release:plugin 目标)创建 Artifact 的非快照版本(在本例中为WAR 文件的正式版本)。一旦您拥有该 WAR 文件,您就可以以最简单的方式将其迁移到生产服务器(以最佳方式复制、部署到 tomcat 中)。您没有提到此 Web 应用程序是否有数据库要求,在更改任何生产应用程序之前需要考虑这一点。
但是,一旦你有了正式版本,你就有了源代码的标签,你可以准确地知道正在运行什么代码。
我认为您不会自动将 WAR 文件从开发环境复制到生产服务器中。这里有龙。
关于java - 正确部署maven项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15800912/