programing

POM.xml 환경변수는 어떻게 참조합니까?

projobs 2022. 12. 10. 13:58
반응형

POM.xml 환경변수는 어떻게 참조합니까?

저는 maven을 빌드 툴로 사용하고 있습니다.라고 하는 환경변수를 설정했습니다.env. 에서 이 환경변수의 값에 액세스하려면 어떻게 해야 합니까?pom.xml파일링?

메이븐 속성 가이드를 확인하십시오.

세샤기리가 댓글에서 지적했듯이${env.VARIABLE_NAME}네가 원하는 걸 할 거야

경고 한마디 덧붙이자면pom.xml님은 프로젝트를 완전히 설명해야 하므로 환경변수를 신중하게 사용해 주십시오.환경에 따라 빌드를 작성하면 재현이 어려워집니다.

환경 변수를 시스템 속성에 직접 전달하는 것이 더 안전할 수 있습니다.예를 들어 Linux에서 환경 변수 MY_VARILE에 액세스하려고 합니다.pom 파일에서 시스템 속성을 사용할 수 있습니다.

<properties>
    ...
    <!-- Default value for my.variable can be defined here -->
    <my.variable>foo</my.variable>
    ...
</properties>
...
<!-- Use my.variable -->
... ${my.variable} ...

메이븐 명령줄에서 속성 값을 설정합니다.

mvn clean package -Dmy.variable=$MY_VARIABLE

또한 환경변수가 대문자로만 구성되어 있는지 확인하십시오.(문서에는 적어도 @Andrew White에서 제공하는 링크에 대해 명시되어 있지 않습니다) 이유는 모르겠지만 변수가 소문자 단어(예를 들어 env.dummy)일 경우 변수는 항상 비어 있거나 null로 표시됩니다.

대문자 변수를 시도하기로 결심하고 문제를 해결할 때까지 한 시간 동안 이 문제를 고민했습니다.

OK 변수 예:

  • 모조의
  • 더미원
  • JBOSS_SERVER_PATH

(메모: maven v3.0.5를 사용하고 있었습니다)

이게 도움이 됐으면 좋겠는데...

쓰면 안 돼요?

<properties>
    <my.variable>${env.MY_VARIABLE}</my.variable>
</properties>

변수를 설정하는 셸 스크립트를 실행하고 shared-pom에서 변수를 사용하는 등 같은 문제를 겪고 있었습니다.목표는 com.google.code.maven-replacer-plugin을 사용하여 환경변수가 프로젝트 파일의 문자열을 대체하도록 하는 것이었습니다.

사용.${env.foo}또는${env.FOO}나한테는 통하지 않았어메이븐은 변수를 찾지 못했을 뿐이죠Maven에서 변수를 명령줄 매개 변수로 전달한 것이 효과가 있었습니다.설정은 다음과 같습니다.

  1. 셸 스크립트로 변수를 설정합니다.서브스크립트로 Maven을 기동하는 경우는 변수가 설정되어 있는지 확인합니다(예를 들어 를 사용하는 경우).source ./maven_script.sh부모 스크립트에서 호출합니다.

  2. shared-pom에서 환경변수를 취득하는 명령줄 파라미터를 만듭니다.

<blocks>...<실행><실행>...<blocks>...
<설정><param>${foo}<param><!--이것은 *not*${env}입니다.foo} --></설정>
  1. com.google.code.maven-replacer-plugin을 합니다.${foo}.

  2. 내셸에서 maven 을 추가합니다.-Dfoo=$foo

하시면 됩니다.<properties>와 커스텀 변수를 정의하는 태그가 있습니다.${variable} it ( it to to to to to to pattern 。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <!-- define -->
    <properties>
        <property.name>1.0</property.name>
    </properties>

    <!-- using -->
    <version>${property.name}</version>

</project>

언급URL : https://stackoverflow.com/questions/10463077/how-to-refer-environment-variable-in-pom-xml

반응형