0

我正在使用 rpm-maven-plugin 生成 RPM。我想使用相关的运行时环境变量指定目标目录。问题是插件在编译期间评估变量。

例如${JAVA_HOME}

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

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

4

1 回答 1

0

根据本文档,每个环境变量都带有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 安装文件夹。
于 2019-11-10T21:12:51.963 回答