部署到远程服务器后解析/下载依赖项

时间:2013-08-30 07:06:01

标签: java maven

由于许多外部依赖关系,我有一个超大的war文件。我也有互联网连接速度问题,因为我不想在我的战争中保持依赖关系罐,以便我可以减少战争规模&更快地将我更新的战争从开发机器上传到远程服务器。

我希望maven项目在远程tomcat服务器本身上传时依赖于远程tomcat服务器上的依赖项。开始跑步如何配置maven来做到这一点?

3 个答案:

答案 0 :(得分:2)

有一个非常简单的解决方案:在服务器上构建项目。

执行此操作的简便方法是将所有来源放入版本控制系统,例如MercurialGit

除了为您提供历史记录和自动备份之外,DVCS还具有非常高效的算法来更新远程副本(它们只是传输更改,因此如果您更改单行,则只通过线路发送一行)。 / p>

在您的服务器上构建也意味着您可以非常快速地下载服务器上的依赖项(可能具有非常好的下载速率)。本地部署将非常非常快。

最后但并非最不重要:当您使用版本控制时,您可以在出现问题时快速返回上一个稳定版本。

答案 1 :(得分:0)

正如Aarom所说,你应该直接在服务器上构建项目。

有两个要求:

  • 您需要在远程服务器上拥有命令行访问权限。
  • 必须在远程服务器上安装Maven。

然后,您可以在远程服务器上上载项目源(无依赖关系)。 进入项目的根目录并运行构建命令(mvn package或您使用的任何自定义构建命令)。

就是这样,你在远程服务器上加载了所有依赖项的.war;然后,您可以删除源文件。

答案 2 :(得分:0)

@ user01

  1. 将所有需要的第三方jar安装到Tomcat的lib文件夹。
  2. 在Maven pom.xml中将这些依赖项的范围设置为“已提供”。
  3. 在远程服务器上安装Maven。
  4. 安装CI服务器,如Jenkins,Continuum,Bamboo,Hudson,CruiseControl等。我建议Jenkins。
  5. 希望您使用SVN,Git,Mercurial,Bazaar或CVS等版本控制软件。如果没有,那我建议设置 您的源代码存储库的Git或SVN。
  6. 在pom.xml中配置scm标记,指向项目在源代码存储库中的位置。
  7. 配置CI服务器以从源代码存储库中获取pom.xml。您的CI服务器将读取scm标记和 您已在scm标记内配置的URL,并将检查您的 投射出去。然后,您的CI服务器将构建您的项目。
  8. 您可以让Jenkins通过Jenkins Deploy插件将您构建的war工件部署到Tomcat,或者您可以使用Maven插件,例如 tomcat7-maven-plugin或Cargo。