我正在开发一个Maven插件。我似乎很难弄清楚,从执行MOJO的项目中获取POM信息的好方法是什么?
例如,如果我在另一个Maven项目中执行我的mojo,我想获取项目名称或其他一些参数。
还有一件事,在AbstractMojo.java类中有一个上下文MAP,有私有Map
pluginContext,如果我错了,有人可以纠正我,但这应该用于在mojos之间传递信息吗?
您可以使用如下声明的字段将当前的maven项目注入到mojo中:
/**
* @parameter default-value="${project}"
* @required
* @readonly
*/
MavenProject project;
然后,只需调用即可获得项目名称project.getName()
。要使用此API,您需要将maven-project
工件添加为依赖项:
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>2.0.6</version>
</dependency>
问题内容: 在处理POM之后,Jenkins构建有什么方法可以知道项目的Maven版本号吗? 我有一些项目由Maven控制版本控制,在构建后的工作中,我们想创建一个Debian软件包并调用一些shell脚本。我需要的是Maven以前可以用作Jenkins环境变量的版本号,因此我可以将其传递给构建后操作。 需要明确的是,我 没有 需要知道如何让詹金斯版本号传递到Maven的; 相反,我希望Maven
基本信息 Path: /api/project/get Method: GET 接口描述: 请求参数 Query 参数名称 是否必须 示例 备注 token 是 项目token
执行 gradle projects 命令会为你列出子项目名称列表. 例 11.7. 收集项目信息 gradle -q projects 命令的输出结果 > gradle -q projects ------------------------------------------------------------ Root project ----------------------------
执行 gradle properties 可以获取项目所有属性列表. 如下例: 例 11.16. 属性信息 gradle -q api:properties 的输出结果 > gradle -q api:properties ------------------------------------------------------------ Project :api - The shared A
问题内容: 是否有任何IDE(或与此相关的任何其他工具)都能够基于现有项目生成POM? 我最终按照Peter和Sal的建议,使用Maven原型生成了POM,然后将现有资源移入了。感谢您的帮助。 问题答案: 您可以在IntelliJ中执行此操作,但是它生成的POM可能比手工编写要复杂得多。如果您的项目当前在JBuilder或Eclipse中,则可以首先导入它。 相反,我建议您在POM中描述您的项目,
问题内容: 当我遇到这个问题在运行时获取Maven工件版本时,我一直在寻找如何从maven pom或清单中获取应用程序名称(工件ID)和版本。 当我打包项目时,上面的内容对我有用,但是当我尝试使用eclipse运行程序时,似乎什么也没用。我在构建时尝试使用.properties方法,因为我认为这与包无关,但仍然没有得到结果。如果有人对这个问题有想法或解决方案,将不胜感激。 我的最后一次尝试是在下面