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 }