如何从java内部获取jenkins环境变量?

如何从java内部获取jenkins环境变量?,java,jenkins,continuous-integration,jenkins-pipeline,jenkins-cli,Java,Jenkins,Continuous Integration,Jenkins Pipeline,Jenkins Cli,我创建了一个java程序来进行ssh连接,并使用scp进行文件传输。我在jenkins中添加了用户名、主机名和密码作为环境变量。我需要在java程序中访问这些环境变量的值 我尝试在java文件中使用以下选项,但没有成功 System.getProperty("HOSTNAME"); System.getenv("HOSTNAME"); 由于某些安全问题,我无法使用EnvironmentInjectorPlugin。你能给我指出正确的方向吗。我通过传递构建步骤>Maven>目标和选项中的参数来

我创建了一个java程序来进行ssh连接,并使用scp进行文件传输。我在jenkins中添加了用户名、主机名和密码作为环境变量。我需要在java程序中访问这些环境变量的值

我尝试在java文件中使用以下选项,但没有成功

System.getProperty("HOSTNAME");
System.getenv("HOSTNAME"); 

由于某些安全问题,我无法使用EnvironmentInjectorPlugin。你能给我指出正确的方向吗。

我通过传递构建步骤>Maven>目标和选项中的参数来实现这一点

Maven:目标和选项

-DHOSTNAME=${HOSTNAME} -DUSERNAME=${USERNAME} -DPASSWORD=${PASSWORD} -q clean install test
并从java文件中检索值,如下所示

String strUserName = System.getProperty("USERNAME"); 

${'}中的值实际上是jenkins配置中声明的环境变量。

如何运行java应用程序?请提供您的Jenkins管道。@Alexeypudnikov感谢您的回复Alex。我通过从Maven:Goals和Options“-DHOSTNAME=${HOSTNAME}-DUSERNAME=${USERNAME}-DPASSWORD=${PASSWORD}clean install test”传递参数来实现这一点,并从java文件中检索值作为“String strUserName=System.getProperty(“USERNAME”);”。${'}中的值实际上是jenkins配置中声明的环境变量。您完全正确,java应用程序本身并不知道jenkins环境变量,因此您必须通过
-D
选项将这些变量传递给JVM。