我将 Eclipse Indigo 与 m2e 插件(版本 1.0.1)一起使用。我有两个单独的工作区项目:一个基本上是 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 而不是类文件夹?