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