【问题标题】:Maven site deploy issueMaven站点部署问题
【发布时间】:2015-02-20 12:54:37
【问题描述】:

我正在使用maven site-deploy 命令。我正在使用maven 2.2.1jdk 6

我收到以下错误:

org.apache.maven.lifecycle.LifecycleExecutionException: Wagon protocol '' doesn't support directory copying
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
    at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
    at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Wagon protocol '' doesn't support directory copying
    at org.apache.maven.plugins.site.SiteDeployMojo.execute(SiteDeployMojo.java:165)
    at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
    ... 17 more`

pom.xml 有以下分发管理部分:

    <site>
        <id>app123</id>
        <url>/app/il3/apache-tomcat-7.0.57/webapps/build/app123</url>
    </site>

请指教。

谢谢, 乙

【问题讨论】:

标签: java maven deployment jdk6


【解决方案1】:

我很确定您只是在配置 maven &lt;site&gt; 标签时遇到了麻烦。在官方文档中的URL,它指出:

url:这是存储库元素的核心。它指定了用于将构建的工件(以及 POM 文件和校验和数据)传输到存储库的位置和传输协议。

而且您的 URL 上缺少传输协议。因此

Wagon 协议 '' 不支持目录复制

这里是支持的协议列表,来自他们的site

  • 文件
  • HTTP
  • HTTP 轻量级
  • FTP
  • SSH/SCP
  • WebDAV

那么为什么不尝试指定一个有效的 URL? &lt;url&gt;file://var/&lt;url&gt; 这里还有一些examples and a explanation

【讨论】:

  • 成功了!谢谢。我应该已经发现了:-)。
【解决方案2】:

我也遇到了类似的问题,但对于一个 nexus 网站上的协议 http Wagon protocol 'http' doesn't support directory copying

我通过切换到 dav 协议解决了这个问题。它需要作为扩展添加。

<project>
   ...
   <distributionManagement>
      <site>
        <id>uumds-site-repository</id>
        <name>Uumds Site Repository</name>
        <!--
        <url>http://vs-b1-repo1:8081/nexus/content/sites/uumds/${project.groupId}-${project.artifactId}-${project.version}</url>
        -->
        <url>dav:http://vs-b1-repo1:8081/nexus/content/sites/uumds/${project.groupId}-${project.artifactId}-${project.version}</url>
      </site>
  </distributionManagement>
  ...
  <build>
    <extensions>
        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-webdav-jackrabbit</artifactId>
            <version>2.10</version>
        </extension>
    </extensions>
  ...
  </build>
</project>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-05
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 2014-05-03
    相关资源
    最近更新 更多