如何通过rpm-maven-plugin使用运行时环境变量

我正在使用rpm-maven-plugin生成RPM。我想使用相关的运行时 env变量指定目标目录。问题在于该插件在 compile 时间内对变量进行求值。

例如${JAVA_HOME}

<mapping>
    <directory>${JAVA_HOME}/ext</directory>
    <sources>
        <source>
            <location>/home/user/run.sh</location>
        </source>
    </sources>
</mapping>

我希望RPM规范文件中的目录保留${JAVA_HOME}/ext,并且仅在RPM安装期间(即运行时)进行评估。

suleo123 回答:如何通过rpm-maven-plugin使用运行时环境变量

根据此documentation,每个环境变量都可以使用env.前缀。因此您可以像这样使用它:

<mapping>
    <directory>${env.JAVA_HOME}/ext</directory>
    <sources>
        <source>
            <location>/home/user/run.sh</location>
        </source>
    </sources>
</mapping>

注意

有两个不同的属性,它们是不同的。

  • ${env.JAVA_HOME}是一个环境变量,可能没有设置。
  • ${java.home}是一个预定义的系统属性,它指向Java安装文件夹。
本文链接:https://www.f2er.com/3127635.html

大家都在问