Local Maven Dependency项目被引用为类文件夹而不是jar

时间:2011-12-15 10:07:17

标签: maven m2eclipse vaadin maven-dependency-plugin

我正在使用Eclipse Indigo和m2e插件(版本1.0.1)。我有两个独立的工作区项目:一个Maven项目,它基本上是一个Vaadin小部件,另一个Maven项目是我的主项目,它引用了这个小部件:

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

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

当我尝试使用依赖项解压缩(甚至复制)依赖项到我的主项目时,这会导致一些问题:unpack-dependencies(resp.dependent: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而不是类文件夹?

1 个答案:

答案 0 :(得分:6)

他们在不同的目录中,对吗?试试这个: 右键单击您的项目,选择Maven - &gt;禁用工作区解析。

同时检查项目属性并确保Java Build Path中未引用该项目 - &gt;项目