5

site-deploy当我在调用release:perform目标时尝试让 wagon 插件在生命周期内上传文件时,我遇到了一个奇怪的问题。似乎 wagon 在我调用时正确上传了文件,mvn site-deploy但它只是响应

没有可上传的

当调用mvn release:performwhich 应该调用site site-deploy文档中所述的阶段时。

这是 wagon 的插件配置。

        <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...

但 wagon 不上传任何东西:

[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

4

2 回答 2

6

这个插件没有做你认为它做的事情。相信我,我去过那里。

底层 wagon 协议仅用于与 Maven 存储库通信,而不是任意目录。如果你推送的东西没有 repo 模式的文件和目录,插件将决定它没有什么可做的。

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

于 2011-03-30T23:13:12.053 回答
3

我遇到了同样的问题,直到我发现“includes”标签必须包含“ / *”才能递归地包含文件和子目录。查看该博客文章的评论

<includes>*/**</includes>
于 2013-12-13T08:04:07.263 回答