【问题标题】:Maven rpm plugin tries to run installation script on buildMaven rpm 插件尝试在构建时运行安装脚本
【发布时间】:2015-04-27 22:13:46
【问题描述】:

我正在尝试创建一个 RPM 包来安装一个软件,但是每当我尝试使用 rpm 插件构建它时,它会在构建时运行安装脚本,这将失败,因为我的机器不是预期的目标(也不应该是的)

设置是这样的

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>rpm-maven-plugin</artifactId>
    <version>2.1.2</version>
    <extensions>true</extensions>
    <configuration>
        <group>Applications/Software</group>
        <mappings>
            <mapping>
                <directory>/tmp/${project.artifactId}</directory>
                <filemode>755</filemode>
                <username>user</username>
                <groupname>group</groupname>
                <sources>
                    <source>
                        <location>src/main/resources/</location>
                    </source>
                </sources>
            </mapping>
        </mappings>
        <requires>
            <require>unzip</require>
        </requires>
        <preinstallScriptlet>
            <scriptFile>src/main/scripts/preinstall.sh</scriptFile>
            <fileEncoding>utf-8</fileEncoding>
        </preinstallScriptlet>
        <installScriptlet>
            <scriptFile>src/main/scripts/install.sh</scriptFile>
            <fileEncoding>utf-8</fileEncoding>
        </installScriptlet>
    </configuration>
</plugin>

我还将 pom 打包配置为 rpm,并且我正在运行“mvn clean package”来生成 rpm。 这只是一个构建器项目,意味着它要做的就是将 rpm 中 src/main/resources 中的所有文件与脚本一起打包,这些脚本将在该 rpm 在某些目标机器上运行时执行。

我错过了什么吗?

我正在安装 rpmbuild 的 Ubuntu 14.04 机器上构建 rpm

【问题讨论】:

  • 我有同样的问题..安装脚本在构建期间运行,但不在安装时运行。

标签: java maven rpm rpm-maven-plugin


【解决方案1】:

我刚刚阅读了 RPM 文档,发现这是完全正确的。 install scriptlet 在构建 RPM 时调用,您可能需要的是 preinstall 或 postinstall scriptlet。安装本身(复制文件)由 RPM 完成。

参考:http://www.rpm.org/max-rpm/s1-rpm-inside-scripts.html

【讨论】:

  • 是的,我自己也注意到了。奇怪的过程,但解决了它。谢谢
猜你喜欢
  • 2021-10-02
  • 1970-01-01
  • 1970-01-01
  • 2016-12-29
  • 1970-01-01
  • 1970-01-01
  • 2019-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多