2013-04-08 35 views
2

我下面的说明完全按照规定这里上传多个文件:用FTP上传Maven的部署:我要上传只是战争的文件,但

http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ftp.html

(唯一的区别是,我使用版本2.4的wagon-ftp)。

,然后执行

MVN部署

我只是想上传一个war文件,但它上传等几个文件,用POM,MD5,SHA1扩展和一个下埋葬他们我的源代码目录。

我一直在寻找合适的配置来修改这个行为,但没有运气。

回答

2

无人机插件是用于部署工件到存储库,存储库需要所有这些其他文件的功能。如果您正在尝试将.war文件ftp到服务器进行部署,那么请为您的服务器使用正确的插件,而不要使用无盖货车插件。

该插件的文件开始了与

为了部署使用FTP文物...

mvn deploy是部署文物的仓库,因此所有的其他文件还需要上传存储库才能运行的功能。

+0

哦,我明白了,谢谢你的澄清。 – DPM 2013-04-08 17:58:55

5

使用Ant和它的FTP task为了上传生成的战争文件。

随着antrun plugin你可以像执行Ant脚本:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.7</version> 
    <configuration> 
    <target> 
     <property name="file_name" value="${project.build.finalName}.war" /> 
     <ant antfile="${basedir}/build.xml"> 
      <target name="war upload" /> 
     </ant> 
    </target> 
    </configuration> 
</plugin> 

使用property为了定义如文件名/路径ant脚本某些属性。所有maven的属性都可以在ant脚本中访问。

+1

我很感谢你的回答,这就是为什么我最终使用了,尽管我没有在目标中创建一个“ant”任务,而只是定义了“ftp”参数并创建了一个taskdef。我不知道你为什么被拒绝。这是一个有效的解决方案。 – DPM 2013-04-08 19:24:13