【问题标题】:Adding POM type dependency using m2eclipse, unable to resolve使用m2eclipse添加POM类型依赖,无法解决
【发布时间】:2011-09-08 02:51:15
【问题描述】:
我正在尝试将 Hector 依赖项添加到我的 POM。我的 IDE 是 Eclipse,我也在使用 m2eclipse。添加 JAR 类型的依赖不是问题,但是这种依赖是 POM 类型的。我已经尝试了几乎所有常见的方法,包括清理、构建和使用导入范围,但似乎没有任何帮助。当我尝试添加import me.prettyprint.hector.api.Serializer;
我收到错误“无法解析导入”。
我还需要做些什么来使用 POM 类型依赖项,或者有没有更好的方法在项目中使用 POM 类型的依赖项?
【问题讨论】:
标签:
maven
dependencies
m2eclipse
pom.xml
【解决方案1】:
该错误表明您的类路径中缺少相关类。搜索该类表明,它在hector-core中可用
This discussion 表示如何导入此依赖项,即。将以下条目添加到您的项目 pom 中(或在 m2eclipse 中适当地选择它)。
<dependency>
<groupId>me.prettyprint</groupId>
<artifactId>hector-core</artifactId>
<version>0.7.0-29</version>
</dependency>
【解决方案2】:
我相信他的问题并不像简单地包括必要的依赖那么明显。我也遇到过这个问题,正在寻找解决方案。问题可以更清楚地表述如下:
假设我有两个 Maven 项目(项目 A 和项目 B)。项目 A 是一个简单的网络应用程序,它希望包含项目 B 中所述的依赖项。但是,项目 B 的打包类型是“pom”。这应该允许项目 B 的所有依赖项都包含到项目 A 中。这是一个示例:
项目A(包装为“战争”):
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifactId>B</artifactId>
<version>1.0</version>
<type>pom</type>
</dependency>
</dependencies>
项目B(包装为“pom”)
<dependencies>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
我们希望在 Eclipse 中看到的是,当您在项目 A 上运行 maven eclipse:eclipse 时,您可以看到 commons-lang-2.4.jar 文件作为项目 A 下的依赖项,以便您可以在导入时的代码。这没有发生,我仍在寻找这样的解决方案。