gpt4 book ai didi

java - 将 Maven Artifact 映射到 Debian 包

转载 作者:行者123 更新时间:2023-12-02 09:18:29 26 4
gpt4 key购买 nike

我必须为当前项目中的所有应用程序创建 Debian 软件包。这些是像“java -jar ....”一样启动的独立应用程序。每个项目都提供自己的 JAR Artifact ,该 Artifact 依赖于其他几个项目 Artifact ,并且存在许多第 3 方依赖项(编译和运行时)。

现在我可以构建一个 debian 包,其中包含所有需要的 JAR(传递性依赖项、一些资源文件、脚本等)。

我还在我的包的控制文件配置中指定了 JRE Debian 依赖项,以便 java 也被安装。

我使用 codehaus unix-maven-plugin 创建 deb 包。

JAR 安装到/usr/share/java,脚本安装到/usr/bin 等。

只要我在服务器上只安装一个软件包就可以了:安装和运行时都会成功。但是,如果已经安装了一些提供我的包中包含的 JAR 之一的软件(例如 slf4j-api-1.5.10.jar),那么我在安装该包时会遇到问题。包管理器提示文件冲突。当我尝试将两个应用程序安装到显然提供一组相同 jar 文件的同一服务器时,也会发生这种情况。

我的问题的解决方案是不包含其他 debian 软件包可用的 JAR 文件,而是在控制文件的“Depends”部分中声明这些软件包。当然,并非 maven 存储库中的每个 JAR 都有相应的 debian 软件包可用,但对于那些缺失的 Artifact ,我可以自己创建其他 debian 软件包。

是否有任何可用的方法将 maven 依赖项转换为 debian 依赖项列表(控制文件中的“Depends”部分),以便我的交付不会重新分发可作为外部 debian 包使用的 JAR 文件?

我可以在自定义 Maven 插件中使用任何在线服务来查找可能提供我的应用程序所需的 JAR 的 debian 软件包吗?

谢谢

最佳答案

您可以使用“jdeb-maven-plugin”创建 debian 软件包 https://github.com/tcurdt/jdeb

关于java - 将 Maven Artifact 映射到 Debian 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14461486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com