【问题标题】:Deploying an assembly to a FTP server using Maven 2使用 Maven 2 将程序集部署到 FTP 服务器
【发布时间】:2009-10-13 08:09:50
【问题描述】:

我有一个项目分为几个子模块(每个子模块都是jar库):

myapp
    myapp-commons
    myapp-client
    myapp-server

我已经配置了我的pom.xml,以便创建最终存储在myapp/target 目录中的3 个程序集(client.ziporacle.tar.gzserver.tar.gz)。 我现在想要的是使用 FTP 将其中两个(oracle.tar.gzserver.tar.gz)分发到服务器。

即使我还没有尝试过,我知道我可以很容易地在我的 pom.xml 中使用一些 Ant 行来做到这一点,但我不太喜欢这个选项(我只会用 Ant 解决我的问题如果没有其他解决方案)。 有一些 SO 问题(herehere)可以提供解决方案。

我的问题是知道是否有更好的方法来做到这一点?我知道 Wagon Maven2 插件,但我没有成功配置它以部署程序集(并且不是创建的 JAR)。

【问题讨论】:

    标签: maven-2 ftp distribution


    【解决方案1】:

    正如您在问题中所说,Ant 方法并不理想,但如果您没有找到替代方案,this answer 将展示如何使用 antrun 插件通过 FTP 进行部署。

    更新,根据您更新的问题,这部分不太相关,不过我会留下来帮助其他人。

    wagon-ftp plugin 允许您连接到 FTP 服务器。我还没有尝试过,但是您可以将部署插件的deploy-file goal 绑定到适当的阶段以将文件传送到 FTP 服务器(this blog 的一些使用提示)。

    【讨论】:

    • 抱歉,我在问题中说的是“货物”,但实际上我的意思是“货车”;o)
    【解决方案2】:

    使用 FTP 部署工件的方法记录在 Deployment of artifacts with FTP

    为了使用 FTP 部署工件 您必须首先指定使用 FTP服务器在 分布管理元素 您的 POM 以及指定 构建元素中的扩展 这将拉入 FTP 工件 需要使用 FTP 部署:

      ...
    
      <!-- Enabling the use of FTP -->
      <distributionManagement>
        <repository>
        <id>ftp-repository</id>
        <url>ftp://repository.mycompany.com/repository</url>
        </repository>
      </distributionManagement>
    
      <build>
        <extensions>
          <extension>
            <groupId>org.apache.maven.wagon</groupId>
             <artifactId>wagon-ftp</artifactId>
             <version>1.0-alpha-6</version>
          </extension>
        </extensions>
      </build>
    

    您的settings.xml 将包含一个server 元素,其中该元素的id 与上面POM 中指定的FTP 存储库的id 匹配:

    <settings>
    
      ...
    
      <servers>
        <server>
          <id>ftp-repository</id>
          <username>user</username>
          <password>pass</password>
        </server>
    
      </servers>
    
      ...
    
    </settings>
    

    现在,我的理解是您只想将此类设置用于生成的程序集的子集。为此,我将创建一个专用模块来生成要使用 FTP 分发的程序集,并覆盖 distributionManagement 元素,仅在此模块中设置 FTP。

    【讨论】:

      猜你喜欢
      • 2015-05-16
      • 2020-05-03
      • 2019-04-28
      • 2019-08-02
      • 2013-08-11
      • 1970-01-01
      • 2014-05-30
      • 2013-10-04
      • 1970-01-01
      相关资源
      最近更新 更多