- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须为当前项目中的所有应用程序创建 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/
对于 Nexus 中的 Artifact ,我想找出类路径,即该 Artifact 是针对哪个 Artifact 的哪个版本构建的。当然,解析pom会给出一些提示,但由于我们有父POM、依赖管理等,这
我想将库部署到公司的远程存储库。 这是我第一次要将库项目部署到远程存储库。 我收到以下错误消息: org.sonatype.aether.transfer.ArtifactNotFoundExcept
在我们的 Artifact 上,我们有POM文件为 commons-lang commons-lang 2.6 4.0.0 commons-lang commons-la
我们使用 Maven 来构建我们的项目,并使用 Nexus 作为存储库管理器。 有没有办法知道一个 Artifact 在哪里是另一个 Artifact 的依赖项? 例如,我们想知道我们的发布存储库中的
我已经重新初始化了我的 pom.xml,但是我得到了: ArtifactDescriptorException: Failed to read artifact descriptor for org.
将maven Android 项目导入eclipse 时出现以下错误: Could not update project assistance configuration me.gladwell.
假设,ArtifactA 依赖于 ArtifactB,ArtifactC 也依赖于 ArtifactB 我知道“mvn dependency plugin”可以帮助列出项目/Artifact 的依赖项
在我的 Maven 构建结束时,一个用于此明确目的的模块从各种其他模块收集 Artifact ,并使用 Assembly 插件将它们压缩到一个存档中。完成后,它会使用 Deploy 插件将它们部署到
我有一个我正在尝试构建的相对较新的项目。 Gradle 同步正常,但每当我尝试构建时,都会收到如下错误: Execution failed for task ':app:kaptGenerateStu
我在 Azure DevOps 中设置了 Gradle 构建,它在 Azure DevOps git 存储库中编译代码,然后将生成的 JAR(作为 Maven Artifact )发布到 Azure
提出这个问题的另一种方式是: 如何验证maven使用 Azure 进行项目 personal access token这样Maven构建就可以下载artifacts发表于Azure Artifacts
提出这个问题的另一种方式是: 如何验证maven使用 Azure 进行项目 personal access token这样Maven构建就可以下载artifacts发表于Azure Artifacts
这与具有类似错误的现有问题有点不同 - 我不认为这是重复的。 我有项目 A,我使用 mvn clean install 在本地成功构建并安装了该项目。 我验证了director中存在jar和pom~/
我有一个包含此存储库的 Artifact 服务器 发布 锁定版本 我必须将一些 Artifact (大约 50.000 个)从版本移至锁定版本... 我需要识别具有精确版本的 Artifact : 例
我正在升级一个拥有 3000 多个 java maven 项目和 repos 的庞大系统,从 Java 7 部署到 Java 8。我们将尝试一次迁移部分系统,这意味着一些 Artifact 会使用 j
所以我遇到了一个错误 Failed to read artifact descriptor对于已部署到我本地 Nexus 的插件。我检查了 Nexus 上的 pom。 这个插件依赖于 Maven 2.
在 Azure DevOps 中,我们有 Download/Publish构建工件任务和 Download/Publish管道工件任务。 构建工件任务和管道工件任务之间有什么区别,我们什么时候会选择一
我有一个由 Maven 管理的原始 java webapp(因此会生成一个 WAR 文件),我们称它为 webapp。 我喜欢保持其 Maven 配置不变,但有时我需要通过操作其内容(或以任何方式对其
我有一个 Artifact abc,它有一些测试。我的存储库中有不同版本的 abc。我现在希望能够针对项目的“旧版本”运行最新的测试。 我试图将 Artifact 本身添加到测试依赖项中,但这(当然)
我目前有一个用 Maven 构建的 Java 测试库,并作为 jar 分发。我的项目依赖于一个非常常见的库 (Objectweb ASM),而且我遇到了一些问题,即类路径中已经存在较早且不兼容的 AS
我是一名优秀的程序员,十分优秀!