我们为什么要部署应用程序?

时间:2010-12-27 20:47:56

标签: java maven

我真的不明白mvn deploy我们为什么要这样做?

我做

mvn clean install

然后我做

mvn jetty:run

我对为什么需要这样做或者我应该偶尔进行部署感到困惑。

2 个答案:

答案 0 :(得分:2)

简单地让Maven从本地存储库(通常为$ HOME / .m2 / repository)解析工件(您在依赖项部分中放置的工件)。如果它在本地存储库中找不到工件,它将看起来是一个远程存储库。标准远程存储库是http://repo1.maven.org/maven2的“中央”存储库。 如果执行“mvn install”,则告诉Maven将工件(目标文件夹中的WAR)复制到本地存储库。现在您的其他Maven项目可以解析工件。 如果您希望其他人能够解析工件,则需要将其放在远程存储库中。这是通过“mvn deploy”完成的(就像中央存储库一样,您可以创建自己的远程存储库)。

要部署Web应用程序,您需要从目标文件夹手动部署WAR文件,或使用Mago插件(如Cargo)部署到应用程序服务器。

将WAR文件部署到远程Maven存储库有什么意义,因为它们通常不会在其他项目中用作依赖项?

我建议在应用程序服务器上部署某些内容之前,先正确发布代码。有一个发布插件可以帮助您。除了将它放在远程Maven存储库之外,它还标记SCM中的当前源(例如subversion)。现在,您的Maven存储库中有一个版本化的二进制文件,它与SCM中的标记版本相匹配。 由于Maven存储库具有定义良好的结构,因此可以轻松编写将新版本提取到生产服务器的脚本。

答案 1 :(得分:1)

Maven Deploy Plugin摘录:

  

主要使用部署插件   在部署阶段,添加您的   工件到远程存储库   与其他开发者分享   项目。这通常是在一个   集成或发布环境。它   也可以用来部署一个   特别的神器(例如第三个   党的罐子像孙的非   可再分发的参考   实现)。

Maven Install Plugin摘录

  

安装插件在使用过程中使用   安装阶段以添加工件   本地存储库

相关问题