10

我有父 pom 和两个模块 pom。在第一个模块中,我想将第二个模块(jar)复制到某个文件夹。当我从第一个模块 pom 编译项目时 - 它可以工作,但是当我尝试从父项目 pom 编译时,插件会尝试复制 jar 的模块类:

[错误] 无法执行目标 org.apache.maven.plugins:maven-dependency-plugin:2.1:copy (default) on project module1: 将工件从 /home/chardex/projects/test/module2/target/classes 复制到时出错/home/chardex/projects/test/module1/target/lib/classes: /home/chardex/projects/test/module2/target/classes (是一个目录) -> [帮助1]

   <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
            <execution>
                <phase>compile</phase>
                <goals>
                    <goal>copy</goal>
                </goals>
                <configuration>
                    <artifactItems>            
                        <artifactItem>
                            <groupId>...</groupId>
                            <artifactId>module2</artifactId>
                            <version>...</version>
                            <type>jar</type>
                        </artifactItem>
                    </artifactItems>
                </configuration>
            </execution>
        </executions>
    </plugin>

谢谢。

4

3 回答 3

9

我相信这是 maven-dependency-plugin 中的一个错误:http: //jira.codehaus.org/browse/MDEP-259

于 2011-10-24T15:28:51.003 回答
1

在 Eclipse 中执行此操作时,取消选中“解决工作区工件”消除了错误,我可以成功进行全新安装。

于 2015-10-16T04:36:45.080 回答
0

检查您是否在 pom 中使用 eclipse 生命周期映射,如果是,请检查插件版本。对我来说,它是 maven-dependency-plugin 2.1 (buggy) 而不是命令行 maven 使用的 2.0。

    <pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse m2e settings 
                only. It has no influence on the Maven build itself. -->
            <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>
                                        [2.0,2.0.8) <!-- 2.1 fails the build due to the http://jira.codehaus.org/browse/MDEP-187 -->
                                    </versionRange>
                                    <goals>
                                        <goal>
                                            copy-dependencies
                                        </goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute/>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
于 2012-08-23T12:57:01.083 回答