Gradle 存档包含超过 65535 个条目

问题描述 投票:0回答:1

我正在集成 hadoop2.5.0 以运行 mapreduce 作业和 spring-boot-1.2.7 版本,并在包含这个时出现错误
1) 存档包含超过 65535 个条目。

我的 gradle jar 依赖

jar{
from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }

2) 关于在 jar 中包含 zip64

  jar{
    zip64=true
    from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }

我收到无效或损坏的文件
3)在添加 shadowJar 时出现错误

shadowJar{
   zip64=true
}

无法在 org.springframework.boot.loader.ExecutableArchiveLauncher 读取字节
我应该如何从所有依赖项中制作一个罐子。

java spring-boot hadoop gradle
1个回答
0
投票

这个问题已经在评论中回答了,这里是提问者自己提供的相关片段:

非常感谢使用解决了问题 http://stackoverflow.com/questions/10405970/…http://github.com/spring-projects/spring-boot/issues/1310 我补充说 提供的 hbase 和 hadoop。我从 jar 中删除了 zip64{}

快速浏览一下,SO 答案的关键部分是:

目前最好的解决办法是申报自己的

provided
配置,将包括仅编译依赖项并添加到 到你的编译类路径

github好像和这个有重叠,加上关键细节:

我在所有子项目的 jar 任务中添加了以下内容并得到了 我的罐子幸免于难。

bootRepackage.enabled = false

© www.soinside.com 2019 - 2024. All rights reserved.