【发布时间】:2013-10-05 23:18:18
【问题描述】:
我正在使用一个项目的开源项目,它由一组父 POM 和 几个孩子POM。这些子 POM 代表库、拱型和 一个插件。这个插件依赖于这些子模块中的各种,并且是 在我的依赖项目部分中使用。我已经导入 将此 Maven 项目添加到我的 Eclipse 工作区。
在我自己项目的 POM(也在 Eclipse 中)中,我可以通过以下方式引用这些模块 依赖没有问题。不过我也想用插件 build 部分,但由于以下 Maven2 错误而无法使用:
Project build error: Unresolveable build extension: Plugin org.grouplens.lenskit:lenskit-eval-maven-plugin:2.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact org.grouplens.lenskit:lenskit-eval-maven-plugin:jar:2.1-SNAPSHOT
这是因为我通过 Eclipse 的“解决依赖关系”直接访问 POM 来自工作区项目”,当然这个快照版本还没有部署到 一个存储库,所以这是我实际使用它的唯一方法。
我试过了:
-
添加 lenskit-eval-maven-plugin 的任何依赖项: 他们是几个,但我只是添加了项目中唯一的一个 模块(其他包括 maven-plugin-api 之类的东西):
<dependency> <groupId>org.grouplens.lenskit</groupId> <artifactId>lenskit-test</artifactId> <version>${project.version}</version> <scope>test</scope> </dependency> -
在使用该部分中的模块之前为该插件模块放置一个依赖项
<dependency> <groupId>org.grouplens.lenskit</groupId> <artifactId>lenskit-eval-maven-plugin</artifactId> <version>${lenskit.version}</version> </dependency> -
在插件本身中添加依赖项:
<build> <plugins> <plugin> <artifactId>lenskit-eval-maven-plugin</artifactId> <groupId>org.grouplens.lenskit</groupId> <!-- TODO --> <version>${lenskit.version}</version> <extensions>true</extensions> <dependencies> <dependency> <groupId>org.grouplens.lenskit</groupId> <artifactId>lenskit-eval-maven-plugin</artifactId> <version>${lenskit.version}</version> </dependency> </dependencies> 并同时使用(0)、(1)和(2)
好的,所以我意识到尝试 (2) 正在推动它。所以我的问题是:他们的 任何方式我都可以在构建部分使用插件,这也是一个依赖项? 如果有怎么办?如果解决方案(1)的使用是正确的,这可能是一个问题 Eclipse先解析到本地工作空间的方法?
TIA
【问题讨论】:
标签: java eclipse maven plugins