- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Maven 3.0.4。
我的任务是为我们的组织提供公司母公司 POM。我的团队将为开发人员在使用此 POM 时遇到的问题或问题提供支持。通常,他们会将构建日志附加到支持请求中。因此,我希望我的公司 POM 能够通过任何构建将公司父级的版本回显到控制台。我正在为此使用 antrun 插件。
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>echo-build-environment</id>
<phase>validate</phase>
<goals><goal>run</goal></goals>
<configuration>
<target>
<echo level="info" message="Maven ${maven.version}" taskname="Version" />
<echo level="info" message="Corporate POMs ${want.the.version.here}" taskname="Version" />
....
</target>
corporate-parent
team-parent
application-parent
child-module
corporate-parent
a-simple-library
${project.version}
因为这将是当前(子)项目的版本。我无法使用
${project.parent.version}
因为我不知道可能有多少级继承。我尝试定义一个
<corporate.pom.version>
属性,硬编码到公司 POM 版本,但是当我发布我的公司 POM 时,发布插件不知道更新该属性(这是有道理的,它不是依赖版本,它只是一个属性,发布版本不知道更新它)。
${some.groupId.corporate-parent.version}
.这样的东西存在吗?
releaseVersion
更新 POM 属性?正在发布的项目?
最佳答案
我停止使用 maven-antrun-plugin
并切换到 GMaven反而。我可以通过简单的 POM 层次遍历获得所需的信息。
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<id>echo-build-environment</id>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
<![CDATA[
def rootPom = project;
while (rootPom.parent != null) {
rootPom = rootPom.parent;
}
project.properties.setProperty('root.pom.version',
rootPom.version);
log.info(" Maven Home: " + project.properties['maven.home']);
log.info(" Java Home: " + project.properties['java.home']);
log.info(" Built By User: " + project.properties['user.name']);
log.info("Corp POM Version: " + rootPom.version);
]]>
</source>
</configuration>
</execution>
</executions>
</plugin>
project.properties.setProperty
部分存储计算的属性,以便子 POM 可以访问它。
[INFO] Maven Home: c:\dev\maven\apache-maven-3.0.4
[INFO] Java Home: c:\Program Files\Java\jdk1.7.0_13\jre
[INFO] Built By User: user944849
[INFO] Corp POM Version: 0.26-SNAPSHOT
关于 maven 3 : Accessing version of "root" corporate POM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15645699/
最近我们看到了所谓的“Shadow IT”的出现。 ”在许多组织中。如果您还不熟悉这个术语,它指的是那些设法通过使用 U 盘共享文件或“未经批准”的软件产品来完成业务任务等方式来规避通常的 IT 治理
我们目前正在评估为我们的 java 开发建立一个内部公司关系存储库。 很遗憾,还有一些问题没有得到解答,但也许您可以提供帮助。 公司内部所有项目的父 pom 似乎是最佳实践。不清楚的是除了 之外,这
我想从 Bloomberg 下载Corporate Actions(特别是Bankruptcy Filing、Default Corp Actions、Default Resolution) 每个月自
使用 Maven 3.0.4。 我的任务是为我们的组织提供公司母公司 POM。我的团队将为开发人员在使用此 POM 时遇到的问题或问题提供支持。通常,他们会将构建日志附加到支持请求中。因此,我希望我的
我已经创建了一个 JavaScript 来检测信用卡类型,但有一个问题。我没有发现美国运通和美国运通公司之间有什么区别。用户使用美国运通公司时是否存在任何差异或无法得知? 谢谢 最佳答案 您可能知道,
我在一个多语言网站上工作,我正在使用 JSON-LD 准备 Schema.org 标记。重要细节:本网站使用语言子目录。让我们考虑两种语言: 英文:https://www.example.com/ 法
我在公司代理后面,我正在尝试使用 Python 下载页面源代码。一位同事尝试用 C# 编写一个类似的程序并且成功了,但我的 Python 代码不起作用,尽管我们提供了相同的凭据。下面是 C# 代码:
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 3 年前。 Improve this qu
我可以限制 Web 应用程序的使用,但我不能限制对 标记中引用的图像的访问。 现在我正在使用 Google Apps 脚本开发网络应用程序。这是公司的内部应用程序,我必须仔细设置 Assets 的访问
Windows 7,npm@3.10.3, Node @v6.7.0 npm 和 git 设置为使用企业代理。我花了一段时间才弄清楚 git 和 npm 如何使用公司代理,幸运的是它成功完成了。npm
Occam-pi 是一种适合编程新手学习编程 LEGO MINDSTORMS & Surveyor Corporation SRV-1 机器人的好语言。是否有任何开源项目使用相同的方式来阅读源代码。
我在运行 vainfo 时出现以下错误 libva info: VA-API version 0.99.0 libva info: va_getDriverName() returns 0 libva
我在 Windows 10 上使用 Eclipse 2019-03(截至目前的当前版本)和 JDK 12。每当我运行任何代码时,它运行一切正常。但是,它还会显示一条红色消息。这是我收到的消息: JRE
我有 Windows 10,64 位。我有 Java 版本 13,版本日期:2019-09-17。 我有 Eclipse 版本:2019-06 (4.12.0)。 我可以编译和运行代码。但是当我尝试调
我正在尝试按照以下教程进行操作:https://developers.google.com/appengine/docs/java/gettingstarted/ui_and_code 当我在本地主机
我是一名优秀的程序员,十分优秀!