java - jar中的Gradle Shadow重复文件名
问题描述
我正在尝试从 Ant 构建迁移到 Gradle 构建。我正在使用 Shadow ( com.github.jengelman.gradle.plugins:shadow:5.2.0
) 来构建我的项目。我的项目包括 3 个 Apache Axiom 依赖项:
implementation group: 'org.apache.ws.commons.axiom', name: 'axiom-api', version: '1.2.13'
implementation group: 'org.apache.ws.commons.axiom', name: 'axiom-dom', version: '1.2.13'
implementation group: 'org.apache.ws.commons.axiom', name: 'axiom-impl', version: '1.2.13'
Shadow 配置如下所示:
shadowJar {
baseName = project.name
classifier = ''
archiveVersion = ''
exclude "META-INF/*.SF"
exclude "META-INF/*.DSA"
exclude "META-INF/*.RSA"
}
当这些 jar 使用我的 Ant 项目构建时,我最终在 jar 中有 2 个axiom.xml
文件。META-INF
两者是不同的。
当我使用 Shadow 构建时,我最终得到了两个axiom.xml
文件中的后者。第一个文件被后者覆盖。
这会导致运行时错误。如何让 Shadow 包含重复文件名的文件,而不仅仅是覆盖它们?
解决方案
推荐阅读
- javascript - 自定义表单提交按钮
- javascript - jQuery Validator:验证未附加到 DOM 的表单
- angular - 检查存储的内容时,会话值返回 null
- ajax - 如何向 Rally Webhooks API 发出 Ajax 请求?是否启用了 CORS?
- node.js - 如何在nodejs中对带有标题的文本文件进行排序
- python - 如何在某行代码后更改变量的值 - python
- image - 在 PIL 中的场景图像上叠加文本图像
- c - C 编程使用数据结构(优先队列)在队列中存储和显示字符和整数
- authentication - 区块链数据库的认证过程
- php - 项目中用于选择查询的单个函数,其执行或加载时间是快是慢