maven-dependency-plugin:Eclipse中的unpack失败

Gar*_*son 7 eclipse m2eclipse maven maven-dependency-plugin

我在依赖globalmentor-core.jar中有一个JavaScript库,我在另一个项目中使用maven-dependency将JavaScript转移到web目录:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.1</version>
            <executions>
                <execution>
                    <id>unpack</id>
                    <phase>process-resources</phase>
                    <goals>
                        <goal>unpack</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>com.globalmentor</groupId>
                                <artifactId>globalmentor-core</artifactId>
                                <overWrite>true</overWrite>
                                <outputDirectory>${project.build.outputDirectory}/com/guiseframework/assets/javascript</outputDirectory>
                                <includes>**/*.js</includes>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>
            </executions>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

这在命令行上运行得非常好.在Eclipse中使用m2eclipse我得到:

2/4/11 5:26:53 AM PST: Build errors for guiseframework; org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.1:unpack (unpack) on project guiseframework: Error unpacking file: R:\java\trunk\globalmentor-core\target\classes to: R:\java\trunk\guiseframework\target\classes\com\guiseframework\assets\javascript
org.codehaus.plexus.archiver.ArchiverException: The source must not be a directory.
Run Code Online (Sandbox Code Playgroud)

我能找到的最接近的东西是http://jira.codehaus.org/browse/MDEP-187,有人声称他们将"很快提供琐碎的补丁.那是在2008年.

有没有解决这个问题,还是我被卡住了?

Cut*_*rto 2

我已经找到了这个问题的解决方案/解决方法。

\n\n

我的配置:Windows XP SP 3、Maven 3、JDK 1.6.0_24、“C:\\Documents and Settings\\<YOUR_ID>\\.m2”文件夹下的 Maven 存储库。

\n\n

按着这些次序:

\n\n
    \n
  1. 运行 \xe2\x80\x98dir c:\\ /X\xe2\x80\x99 并查找其中包含 ~ 的字符串
    \n
    \n

    08/01/2011 04:53 PM DOCUME~1          文档和设置

  2. \n
  3. 打开 settings.xml 文件并在<settings>标记下添加 localRepository 标记:
    \n <localRepository>C:/DOCUME~1/<YOUR_ID>/.m2/repository<\\localRepository>
  4. \n
\n\n

这应该能让插件工作。显然,maven-dependency-plugin(最高版本 2.3)存在包含空格的路径问题。

\n

\n\n

此致,
\n卡特伯托。

\n