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