linux - 在 bash 脚本 (Linux) 中从 maven POM 读取属性

标签 linux bash maven

我正在使用 maven 作为我的构建工具。下面是我的 POM 中的一个片段。

    <properties>
        <geb.version>2.2</geb.version>
        <selenium.version>3.14.0</selenium.version>
        <groovy.version>2.4.14</groovy.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spock.version>1.1-groovy-2.4</spock.version>
        <surefire.plugin.version>2.20</surefire.plugin.version>
        <surefire.plugin.parallel>methods</surefire.plugin.parallel>
        <selenium.host>XXXXX</selenium.host>
    </properties>

我正在编写一个 linux 可执行文件,我想访问 <selenium.host>我的 bash 脚本中的属性。我该怎么做?

DEFAULT_ADDRESS=$(get address from POM here)

请注意,我的脚本和 POM 文件在同一个目录中。

干杯!

最佳答案

最好和可靠的解决方案是使用 maven-help-plugin像这样:

ADDRESS=$(mvn help:evaluate -Dexpression=selenium.host -q -DforceStdout)

如果您没有在 pom 文件中指定 maven-help-plugin 的版本,您应该使用以下内容:

ADDRESS=$(mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=selenium.host -q -DforceStdout)

结果是从 pom 文件中读取给定的属性,然后将值分配给 ADDRESS

关于linux - 在 bash 脚本 (Linux) 中从 maven POM 读取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53868336/

相关文章:

maven-2 - 最后一步运行 maven exec-maven-plugin

linux - 如何将我的本地 docker 图像导出到 tar 并在另一台计算机上加载

Bash:${$(mycommand)%suffix} 无法从 mycommand 输出中删除后缀

java - 如何使用 japicmp 比较当前和以前构建中生成的 Artifact

bash - 需要 bash 函数中的循环建议

linux - sed:如何在文本 block 后插入行?

java - maven-javadoc-插件错误javadoc : error - cannot read Input length = 1 with non-ASCII characters in directory name

c - 读取配置文件

PHP 服务器 "stuttering",卡住服务器

c - 如何测试Socket的速度?