作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个 maven 3 插件,我想为此使用项目类路径。
我试过使用 Add maven-build-classpath to plugin execution classpath 中提到的方法,但似乎maven找不到书面组件。 (我有一个 ComponentNotFoundException
在插件执行开始时)。
那么,在 maven 3 插件中使用项目类路径的“引用”方式是什么?或者如果组件方式是正确的,除了将组件添加为configurator
之外是否还有任何配置步骤@Mojo
的属性(property)注释?
最佳答案
您可以在 MavenProject
上检索类路径元素通过调用:
getCompileClasspathElements()
检索编译范围依赖 getRuntimeClasspathElements()
检索由运行时范围的依赖关系形成的类路径(即编译 + 运行时)getTestClasspathElements()
检索由测试范围依赖形成的类路径(即编译 + 系统 + 提供 + 运行时 + 测试)@Mojo(name = "foo", requiresDependencyResolution = ResolutionScope.TEST)
public class MyMojo extends AbstractMojo {
@Parameter(defaultValue = "${project}", readonly = true, required = true)
private MavenProject project;
public void execute() throws MojoExecutionException, MojoFailureException {
try {
getLog().info(project.getCompileClasspathElements().toString());
getLog().info(project.getRuntimeClasspathElements().toString());
getLog().info(project.getTestClasspathElements().toString());
} catch (DependencyResolutionRequiredException e) {
throw new MojoExecutionException("Error while determining the classpath elements", e);
}
}
}
MavenProject
注入(inject) @Parameter
使用 ${project}
进行注释房产 requiresDependencyResolution
将使插件能够访问具有上述解析范围的项目的依赖项。 关于maven - 使用maven 3,如何在插件中使用项目类路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35829762/
我是一名优秀的程序员,十分优秀!