Maven站点部署问题

时间:2014-12-22 12:08:04

标签: java maven deployment jdk6

我正在使用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>

请告知。

谢谢, 乙

2 个答案:

答案 0 :(得分:4)

我很确定您在配置maven <site>标签时遇到了麻烦。在URL的官方文件中说明:

  

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

您错过了网址上的传输协议。因此

  

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

以下是site

支持的协议列表
  • 档案
  • HTTP
  • HTTP轻量级
  • FTP
  • SSH / SCP
  • 的WebDAV

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

答案 1 :(得分: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>
相关问题