使用maven-wagon-plugin上传问题

时间:2011-03-30 23:05:02

标签: java maven maven-wagon-plugin

当我在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时失败?

2 个答案:

答案 0 :(得分:6)

此插件不会按照您的想法执行此操作。相信我,我去过那里。

底层旅行车协议仅用于与Maven存储库进行通信,而非任意目录。如果你推送的东西没有repo模式中的文件和目录,插件将决定它没有任何东西可以做。

我花费了数小时,数小时和数小时阅读代码,并得出结论,这个插件无意用于将任意文件推送到任意位置,实际上并不适用于此目的。 / p>

答案 1 :(得分:3)

我遇到了同样的问题,直到我发现“includes”标签必须包含“ / *”才能递归地包含文件和子目录。 请参阅that blog post

的评论
<includes>*/**</includes>