2012-06-26 56 views
3

我想在安装项目时将maven中的lib依赖项复制到lib目录中。 我在我的pom文件中使用过。错误maven中的“复制依赖”

<project> 
    <dependencies> 
     ... 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <version>2.4</version> 
       <executions> 
        <execution> 
         <id>copy-dependencies</id> 
         <phase>package</phase> 
         <goals> 
          <goal>copy-dependencies</goal> 
         </goals> 
         <configuration> 
          <outputDirectory>${project.build.directory}/dependencies</outputDirectory> 
         </configuration>  
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

但它下面的错误:

Description Resource Path Location Type 
maven-dependency-plugin (goals "copy-dependencies", "unpack") is not supported by m2e. pom.xml /jasperreports-test line 60 Maven Project Build Lifecycle Mapping Problem 

我试图修复它。 这是我项目中的pom文件。

<project> 

    <groupId>com.vccorp.adtech</groupId> 
    <artifactId>UserAgentService</artifactId> 
    <version>14.06.201</version> 

    <name>UserAgentService</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <dependencies> 
     <dependency>    
     </dependency> 
    </dependencies> 
    <build> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>org.eclipse.m2e</groupId> 
        <artifactId>lifecycle-mapping</artifactId> 
        <version>1.0.0</version> 
        <configuration> 
         <lifecycleMappingMetadata> 
          <pluginExecutions> 
           <pluginExecution> 
            <pluginExecutionFilter> 
             <groupId>org.apache.maven.plugins</groupId> 
             <artifactId>maven-dependency-plugin</artifactId> 
             <versionRange>[1.0.0,)</versionRange> 
             <goals> 
              <goal>copy-dependencies</goal> 
             </goals> 
            </pluginExecutionFilter> 
            <action> 
             <ignore /> 
            </action> 
           </pluginExecution> 
          </pluginExecutions> 
         </lifecycleMappingMetadata> 
        </configuration> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <version>1.0</version> 
       <executions> 
        <execution> 
         <id>copy</id> 
         <phase>install</phase> 
         <goals> 
          <goal>copy-dependencies</goal> 
         </goals> 
         <configuration> 
          <outputDirectory> 
           ${project.build.directory}/lib 
          </outputDirectory> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

但是,当安装错误如下:

> [INFO] Building UserAgentService 14.06.201 [INFO] 
> ------------------------------------------------------------------------ SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
> SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: 
> See http://www.slf4j.org/codes.html#StaticLoggerBinder for further 
> details. Downloading: 
> http://222.255.27.149:8081/nexus-maven/content/groups/public/org/apache/maven/plugins/maven-dependency-plugin/1.0/maven-dependency-plugin-1.0.pom 
> [INFO] 
> ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] 
> ------------------------------------------------------------------------ [INFO] Total time: 4.716s [INFO] Finished at: Tue Jun 26 11:55:06 ICT 
> 2012 [INFO] Final Memory: 5M/15M [INFO] 
> ------------------------------------------------------------------------ [ERROR] Plugin org.apache.maven.plugins:maven-dependency-plugin:1.0 or 
> one of its dependencies could not be resolved: Failed to read artifact 
> descriptor for 
> org.apache.maven.plugins:maven-dependency-plugin:jar:1.0: Could not 
> transfer artifact 
> org.apache.maven.plugins:maven-dependency-plugin:pom:1.0 from/to nexus 
> (http://222.255.27.149:8081/nexus-maven/content/groups/public/): 
> Connection refused: no further information to 
> http://222.255.27.149:8081/nexus-maven/content/groups/public/org/apache/maven/plugins/maven-dependency-plugin/1.0/maven-dependency-plugin-1.0.pom 
> -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using 
> the -X switch to enable full debug logging. [ERROR] [ERROR] For more 
> information about the errors and possible solutions, please read the 
> following articles: [ERROR] [Help 1] 
> http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException 

这是我Setting.xml的文件。

<settings> 
    <servers> 
     <server> 
      <id>mjx-snapshot</id> 
      <username>deployment</username> 
      <password>deployment123</password> 
     </server> 
     <server> 
      <id>vccorp-repository</id> 
      <username>editor</username> 
      <password>edxmaven</password> 
     </server> 
    </servers> 
    <mirrors> 
     <mirror> 
      <id>nexus</id> 
      <mirrorOf>*</mirrorOf> 
      <url>http://192.168.5.149:8081/nexus-maven/content/groups/public/</url> 
     </mirror>  
     <mirror> 
      <id>public_nuxus</id> 
      <mirrorOf>*</mirrorOf> 
      <url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url> 
     </mirror> 
    </mirrors> 
    <profiles> 
     <profile> 
      <id>development</id> 
      <repositories> 
       <repository> 
        <id>central</id> 
        <url>http://central</url> 
        <releases> 
         <enabled>true</enabled> 
        </releases> 
        <snapshots> 
         <enabled>true</enabled> 
        </snapshots> 
       </repository> 
      </repositories> 
      <pluginRepositories> 
       <pluginRepository> 
        <id>central</id> 
        <url>http://central</url> 
        <releases> 
         <enabled>true</enabled> 
        </releases> 
        <snapshots> 
         <enabled>true</enabled> 
        </snapshots> 
       </pluginRepository> 
      </pluginRepositories> 
     </profile> 
     <profile> 
      <!--this profile will allow snapshots to be searched when activated --> 
      <id>public-snapshots</id> 
      <repositories> 
       <repository> 
        <id>public-snapshots</id> 
        <url>http://public-snapshots</url> 
        <releases> 
         <enabled>false</enabled> 
        </releases> 
        <snapshots> 
         <enabled>true</enabled> 
        </snapshots> 
       </repository> 
      </repositories> 
      <pluginRepositories> 
       <pluginRepository> 
        <id>public-snapshots</id> 
        <url>http://public-snapshots</url> 
        <releases> 
         <enabled>false</enabled> 
        </releases> 
        <snapshots> 
         <enabled>true</enabled> 
        </snapshots> 
       </pluginRepository> 
      </pluginRepositories> 
     </profile> 
    </profiles> 
    <!-- <activeProfiles> <activeProfile>central</activeProfile> </activeProfiles> --> 
</settings> 

请帮帮我!

+0

你为什么要复制依赖关系?如果你只是想制作一个可执行的jar文件,可以看看maven-assembly插件。 –

+0

感谢让雷米。我使用maven-assembly插件,但有时我想使用复制依赖关系的原因。 – tienthanhakay

+0

我自己用它来达到这个目的。没关系,在这一刻,我没有任何线索(没有深入自己研究)来解决你的问题。 –

回答

1

我解决了这个错误。我正在使用的存储库不可用,因此Maven无法下载插件。

2

对我而言,它看起来好像在试图找到版本号1.0maven-dependency-plugin其中isn't available in Maven Central。使用2.4版本,就像您在第一个粘贴的POM片段中所做的那样,它应该可以。