【问题标题】:Local Maven Dependency project is referenced as a class folder instead of a jar本地 Maven 依赖项目被引用为类文件夹而不是 jar
【发布时间】:2012-01-21 01:02:03
【问题描述】:

我正在使用带有 m2e 插件(版本 1.0.1)的 Eclipse Indigo。我有两个单独的工作区项目:一个基本上是 Vaadin 小部件的 Maven 项目和第二个 Maven 项目,它是我的主要项目,它通过以下方式引用该小部件:

<dependency>
   <groupId>com.mycompany.widget</groupId>
   <artifactId>Calendar</artifactId>
   <version>1.2</version>
   <type>jar</type>
</dependency>

如果我在小部件项目上运行 mvn clean install,它将被正确打包为 jar,并且也可以在我的本地 Maven 存储库中使用。我还可以在我的主项目中使用小部件的类。但是,在我的主项目的 Maven 依赖项中,小部件项目显示为类文件夹而不是 jar(尽管所有其他外部小部件依赖项都显示为 jar 文件)。

当我尝试使用 dependency:unpack-dependencies (resp.dependency:copy-dependencies) 解压(甚至复制)依赖项到我的主项目时,这会导致一些问题。 Maven 构建失败:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.4:unpack-dependencies (default-cli) on project [main project]: Error unpacking file: /.../Calendar/target/classes to: /.../[main-project]/target/classes 
[ERROR] org.codehaus.plexus.archiver.ArchiverException: The source must not be a directory.

我的问题是:如何在我的主项目中将我的小部件项目引用为 jar 而不是类文件夹?

【问题讨论】:

    标签: maven m2eclipse vaadin maven-dependency-plugin


    【解决方案1】:

    它们位于不同的目录中,对吗?尝试这个: 右键单击您的项目,选择 Maven -> 禁用工作区解析。

    同时检查项目属性并确保项目没有在 Java 构建路径 -> 项目中被引用。

    【讨论】:

    • 谢谢,我不得不禁用工作区分辨率。当我取消选中 Run Configurations 下的“Resolve Workspace artifacts”时,maven-dependency-plugin 错误消失了。
    猜你喜欢
    • 2011-07-03
    • 2017-10-19
    • 1970-01-01
    • 2011-01-15
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    相关资源
    最近更新 更多