7

我在依赖 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>

这在命令行上非常有效。在使用 m2eclipse 的 Eclipse 中,我得到:

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.

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

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

4

1 回答 1

2

我找到了解决此问题的解决方案/解决方法。

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

按着这些次序:

  1. 运行 'dir c:\ /X' 并查找带有 ~ 的字符串

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

  2. 打开您的 settings.xml 文件并在<settings>标签下添加一个 localRepository 标签:
    <localRepository>C:/DOCUME~1/<YOUR_ID>/.m2/repository<\localRepository>

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

问候,
卡特贝托。

于 2011-10-06T15:01:12.970 回答