2

我正在使用maven site-deploy命令。我正在maven 2.2.1使用jdk 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>

请指教。

谢谢,乙

4

2 回答 2

4

我很确定你只是在配置你的 Maven<site>标签时遇到了麻烦。在URL官方文档中它指出:

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

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

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

以下是支持的协议列表,来自他们的网站

  • 文件
  • HTTP
  • HTTP 轻量级
  • FTP
  • SSH/SCP
  • 网络视频

那么为什么不尝试指定一个有效的 URL 呢?<url>file://var/<url> 这里有更多的例子和解释

于 2014-12-22T12:22:25.023 回答
1

我有一个类似的问题,但对于一个 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>
于 2016-02-25T17:21:31.023 回答