Java Gradle archive包含超过65535个条目

Java Gradle archive包含超过65535个条目,java,spring-boot,hadoop,gradle,Java,Spring Boot,Hadoop,Gradle,我正在集成hadoop2.5.0以运行mapreduce作业和spring-boot-1.2.7版本,并在包含此版本时出错 1) 存档包含超过65535个条目 我的gradle jar依赖性 jar{ from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } (二) 关于在jar中包含zip64 jar{ zip64=true from configurations.compile

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

我的gradle jar依赖性

jar{
from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
(二) 关于在jar中包含zip64

  jar{
    zip64=true
    from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
我得到的文件无效或损坏
3) 在添加shadowJar时,我遇到了一个错误

shadowJar{
   zip64=true
}
无法读取org.springframework.boot.loader.ExecutableArchiveLauncher上的字节

我应该如何从所有依赖项中创建一个jar

Spring Boot的可执行JAR不支持Zip64:。您可以使用一个或多个嵌套罐子来代替吗?我想将所有罐子合并到一个罐子中,因为我面临着guava依赖性的问题,在hadoop罐子中,guava依赖性较旧,而spring使用的是最新的guava罐子。如果我直接使用这个罐子,我有异议,因为bothdo采用了guava版本。您有嵌套的例子吗?,我将尝试使用Spring Boot的Gradle插件,它有一个重新打包任务,可以将依赖项嵌套在jar中。看见不过,我不确定它是否能很好地与Hadoop配合使用。避免使用番石榴可能是一个更容易的解决方案。@andy,非常感谢您,使用提供的hbase和hadoop解决了问题。我从jar{}中删除了zip64