当我在site-deploy
生命周期中尝试让wagon插件在我调用release:perform
目标时上传文件时,我遇到了一个奇怪的问题。
在我调用mvn site-deploy
时,似乎wagon正确上传了文件,但它只是用
无需上传
调用mvn release:perform
时应该调用文档中所述的阶段site site-deploy
。
这是旅行车的插件配置。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0-beta-3</version>
<executions>
<execution>
<id>upload-jars</id>
<phase>deploy site-deploy</phase>
<goals>
<goal>upload</goal>
</goals>
<configuration>
<fromDir>target/checkout/target</fromDir>
<includes>*.jar</includes>
<url>scpexe://nohost.com</url>
<toDir>/var/www/projects/test</toDir>
<serverId>server - projects</serverId>
</configuration>
</execution>
</executions>
</plugin>
maven告诉我正确的目标已经开始:
[INFO] Executing goals 'deploy site-deploy'...
[INFO] [INFO] Scanning for projects...
但是旅行车没有上传任何东西:
[INFO] [INFO] --- wagon-maven-plugin:1.0-beta-3:upload (default) @ exp4j ---
[INFO] [INFO] Nothing to upload.
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] BUILD SUCCESS
是否有人发现我的问题导致maven在调用site-deploy
时按预期工作但在执行release:perform
时失败?
答案 0 :(得分:6)
此插件不会按照您的想法执行此操作。相信我,我去过那里。
底层旅行车协议仅用于与Maven存储库进行通信,而非任意目录。如果你推送的东西没有repo模式中的文件和目录,插件将决定它没有任何东西可以做。
我花费了数小时,数小时和数小时阅读代码,并得出结论,这个插件无意用于将任意文件推送到任意位置,实际上并不适用于此目的。 / p>
答案 1 :(得分:3)
我遇到了同样的问题,直到我发现“includes”标签必须包含“ / *”才能递归地包含文件和子目录。 请参阅that blog post
的评论<includes>*/**</includes>