我知道在没有发布代码的情况下提出问题是不正确的,但是我试图解决这个问题大约有 2 天没有成功。
我需要的是能够使用已经存在或实现的插件从依赖 jar 中获取单个文件(属性文件)并将其导出到我当前的插件源文件夹中,因为我需要相同的属性。该文件是一个成本定义文件,其他一些工具无法使用 java URL 类路径访问它(所以我需要直接在文件系统上访问它)。
我尝试使用“maven-dependency-plugin”解决问题,但在 m2e(eclipse)中,当在工作空间内解决依赖关系时,它不起作用。而且我希望它在两种情况下都有效:依赖项目在 Eclipse 工作区中和不在时。
因此,如果不存在其他插件,我可以接受实现我自己的插件来执行此操作。但我无法找到如何在插件中获得依赖路径。
我的插件这样做
Set<Artifact> artifacts = project.getDependencyArtifacts();
for (Artifact artifact : artifacts) {
...
}
但我找不到有关如何获取工件路径的文档,因此我可以在两种情况下提取我需要的文件:在 eclipse 中(当依赖项项目在工作区中时使用 m2e)和当依赖项项目来自存储库时(和我从命令行运行 maven)。