Gradle 存档包含超过 65535 个条目

2022-09-04 23:39:27

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

我的 gradle jar 依赖项

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

2)在罐子中包含zip64

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

我得到无效或损坏的文件
3)添加阴影Jar我得到错误

shadowJar{
   zip64=true
}

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


答案 1

这个问题已经在评论中得到了回答,这是提问者自己提供的相关文章:

非常感谢使用 http://stackoverflow.com/questions/10405970/ 解决了这个问题......http://github.com/spring-projects/spring-boot/issues/1310 我添加了hbase和hadoop。我从jar{} 中删除了 zip64

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

目前最好的解决方案是声明您自己的配置,这将包括仅编译依赖项并添加到编译类路径中provided

github似乎与此重叠,再加上关键细节:

我在所有子项目的jar任务中添加了以下内容,并节省了我的jar。bootRepackage.enabled = false


答案 2

推荐