写 Maven 插件的时候可能需要用到项目的类路径,例如插件反射项目的类再做后续处理。
在插件中如何获取项目类路径呢?官方插件(maven-compiler-plugin)为我们做出了示例,点击这里查看其源码。
顺藤摸瓜,有两个点需要注意:
- @requiresDependencyResolution compile
意味着在此插件执行前会准备好项目 compile 作用域依赖 作为类路径,取值参见下表:
system provided compile runtime test compile X X X - - runtime - - X X - compile+runtime (since Maven 3.0) X X X X - test X X X X X - @parameter default-value="${project.compileClasspathElements}
意味着示例类中的成员属性 classpathElements 将保存 @requiresDependencyResolution 指明的类路径
具体细节请移步: