maven - 本地 Maven 依赖项目被引用为类文件夹而不是 jar

标签 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>

如果我在小部件项目上运行 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 -> 禁用工作区解析。

还要检查项目属性并确保在 Java Build Path -> Projects 中没有引用该项目。

关于maven - 本地 Maven 依赖项目被引用为类文件夹而不是 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8518297/

相关文章:

java - 记录器 slf4j 未使用配置的 logback 级别

Eclipse自动构建输出与Maven命令行构建输出交互

java - 网络中断后如何强制m2eclipse寻找新的依赖?

windows - 在 linux 和 windows 中创建目录的通用路径

java - 如何在 Maven 中排除特定的单元测试

java - 未找到测试 - 在准系统 Spring Boot Maven 项目上运行 jUnit 5 测试用例时出现空测试套件

java - 每次打开终端时 Apache Maven 都会重置

java - m2eclipse 搜索仅搜索本地存储库

java - 如何获取 Vaadin 网格中所选项目(行)的值?

java - 使用 Maven 进行 Vaadin 项目