Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将Jenkins环境变量注入maven构建?_Java_Maven_Jenkins - Fatal编程技术网

Java 如何将Jenkins环境变量注入maven构建?

Java 如何将Jenkins环境变量注入maven构建?,java,maven,jenkins,Java,Maven,Jenkins,我需要获取一些Jenkins环境变量,比如BUILD_NUMBER和BUILD_URL,并将它们作为变量注入我的Maven Java构建中 我已将其添加到pom.xml中 ${env.BUILD\u URL} 在使用mvn安装构建时,我试图通过 private静态最终字符串JENKINS\u BUILD\u URL=System.getProperty(“JENKINS.buildUrl”); 但不幸的是结果是空的 我做错了什么,伙计们 猜测您正在尝试将此值读入单元测试? 然后您必须配置s

我需要获取一些Jenkins环境变量,比如BUILD_NUMBER和BUILD_URL,并将它们作为变量注入我的Maven Java构建中

我已将其添加到pom.xml中


${env.BUILD\u URL}
在使用mvn安装构建时,我试图通过

private静态最终字符串JENKINS\u BUILD\u URL=System.getProperty(“JENKINS.buildUrl”);
但不幸的是结果是空的


我做错了什么,伙计们

猜测您正在尝试将此值读入单元测试? 然后您必须配置surefire插件的环境变量:


org.apache.maven.plugins


请注意,在其他插件中也可以这样做,例如Maven Tomcat插件。

这就是我在应用程序中实现的方法

在pom.xml中添加属性


UTF-8
${env.BUILD_NUMBER}
在.properties文件中创建新属性

jenkins.build.number = ${jenkins.buildNumber}
通过添加


src/main/resources
真的
然后使用以下代码从java中读取它

properties.load(MyClass.class.getResourceAsStream(“/project.properties”);
version=properties.getProperty(“jenkins.build.number”);
将maven目标更改为clean package-Denv.BUILD\u NUMBER=${BUILD\u NUMBER}


我在应用程序的about页面中显示了这一点。

我通过引入maven目标-Djenkins.buildUrl=${BUILD\u URL}获得了变量。我如何在不使用-Djenkins.buildUrl=${BUILD\u URL}的情况下实例化变量?我有大量的Jenkins作业,我希望将其保留在源代码中,而不是Jenkins配置中。谢谢,它可以工作,但我必须在构建阶段包括新的maven目标-Djenkins.buildUrl=${build_URL}在每个作业中。是否有其他方法实例化变量?Surefire配置应该足够了