Maven(m2e):以编程方式访问依赖jar文件

时间:2013-09-08 14:26:44

标签: java eclipse maven m2e

我知道在没有发布代码的情况下提出问题是不正确的,但是我试图解决这个问题大约2天没有成功。

我需要的是能够使用已经存在或实现的插件从依赖jar获取单个文件(属性文件)并将其导出到我当前的插件源文件夹中,因为我需要我们相同的属性。该文件是一个成本定义文件,其他一些工具无法使用java URL类路径访问它(因此我需要直接在文件系统上访问它)。

我尝试使用“maven-dependency-plugin”来解决问题,但是在m2e(eclipse)中,当在工作空间内解析依赖关系时它不起作用。我希望它在两种情况下都有效:当依赖项目在eclipse工作区中时和不在时。

因此,如果不存在其他插件,我可以接受实现我自己的插件来执行此操作。但我无法在插件中找到如何获得依赖路径。

我的插件执行此操作

Set<Artifact> artifacts = project.getDependencyArtifacts();
for (Artifact artifact : artifacts) {
   ...
}

但我找不到关于如何获取工件路径的文档,因此我可以在两种情况下提取我需要的文件:在eclipse中(当依赖项目在工作空间时使用m2e)和在依赖项目来自时的eclipse之外存储库(我从命令行运行maven)。

1 个答案:

答案 0 :(得分:1)

我会说你应该深入了解maven-remote-resources-plugin,它可以很好地解决你的问题。