Maven Runtime 可以自省一个类以获取其相关的 Maven 项目的元数据。
请注意,这依赖于 Maven 描述符文件相对于被内省的类是唯一的。例如,这在Maven Jar Plugin生成的 jar 中是正确的,在战争中的 jar 中也是如此。这不适用于由Maven Assembly Plugin 的 jar-with-dependencies描述符构建的 jar,因为相对于给定类有多个 Maven 描述符,从而导致歧义。
获取类的 Maven 项目的MavenProjectProperties实例:
/**
* @component
*/
private MavenRuntime runtime;
public void processProject() throws MavenRuntimeException
{
MavenProjectProperties project = runtime.getProjectProperties( MyClass.class );
// process project
}
获取类的 Maven 项目的MavenProject实例:
/**
* @component
*/
private MavenRuntime runtime;
public void processProject() throws MavenRuntimeException
{
MavenProject project = runtime.getProject( MyClass.class );
// process project
}