- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个用gradle编译的shadowJar,它使用truezip从zip文件中获取一些文件。
我使用它得到了这个异常:
Exception in thread "main" java.util.ServiceConfigurationError: file (Unknown file system scheme! May be the class path doesn't contain the respective driver module or it isn't set up correctly?)
at de.schlichtherle.truezip.fs.FsAbstractCompositeDriver.newController(FsAbstractCompositeDriver.java:33)
at de.schlichtherle.truezip.fs.FsDefaultManager.getController0(FsDefaultManager.java:95)
at de.schlichtherle.truezip.fs.FsDefaultManager.getController(FsDefaultManager.java:78)
at de.schlichtherle.truezip.file.TBIO.getInputSocket(TBIO.java:280)
at de.schlichtherle.truezip.file.TFileInputStream.newInputStream(TFileInputStream.java:101)
at de.schlichtherle.truezip.file.TFileInputStream.<init>(TFileInputStream.java:95)
我设置了一个这样的archiveDetector:
final TArchiveDetector ad = new TArchiveDetector("foo", new ZipDriver(IOPoolLocator.SINGLETON));
TConfig.get().setArchiveDetector(ad);
当我想创建这样的输入流时抛出异常:
final TFileInputStream is = new TFileInputStream(thefile);
据我所知,shadowJar 包含所有必需的类,但也许缺少某些内容?
我怎么知道缺少哪个类、哪个包?还有什么可能导致这种情况?
在 Eclipse 中运行它可以工作...
感谢您的帮助。
最佳答案
这是创建 uber-JAR 时的一个常见问题:META-INF/services/*
中的各个条目需要附加。然而,默认情况下,许多工具在创建 uber-JAR 时只是覆盖它们。因此,ServiceLoader
类无法找到所有必需的插件(例如文件系统驱动程序),这就是此异常所提示的。
因此您需要修复创建 uber-JAR 的工具的配置。如果您将 Maven 与 maven-shade-plugin
结合使用,那么您只需添加 ServicesResourceTransformer
- 请参阅 https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#ServicesResourceTransformer .
另一个选择是根本不使用 uber-JAR,这是使用 Maven 时的默认设置。
Eclipse 可以读取 Maven 项目并从中建立其元数据,因此也许您想考虑将您的项目转换为使用 Maven - 如果您还没有这样做的话。
关于java - 在使用 gradle 构建的 ShadowJar 中使用 truezip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32080211/
我正在使用org.jdesktop.appframework开发一个java应用程序。然而,使用 ShadowJar 的 fat jar 正在生成我不需要的文件。如何删除除项目类和 jdesktop
我正在试验 gradle 并尝试设置一个系统来构建不同风格(品牌)的应用程序,主要因配置而异。到目前为止,我有两个版本的构建脚本 - 都不起作用。 版本 1 sourcesets中加入了第一个flav
我有这个错误: ERROR 我检查了我的 Eclipse 首选项/Gradle,并且 Gradle 目录设置得很好。 此外,当我尝试刷新我的项目时,我的控制台中出现此堆栈错误: FAILURE: Bu
我使用shadowJar将依赖项包含在JAR中 shadowJar { archiveClassifier = "" dependencies { include(dependency
我有以下任务: task myJar(type: Jar) { archiveName = 'myJar.jar' includeEmptyDirs = false desti
我正在尝试构建一个 jar 文件,其中包含用于 JDBC 的 MySQL 驱动程序。到目前为止,我有一个非常基本的 build.gradle 文件,它使用 shadowJar 插件来帮助构建这个 ja
我正在使用 shadow Gradle 插件构建 JAR,其中包含所有引用的 jar。 在我的 build.gradle 我只有 apply plugin: "com.github.johnrenge
我正在使用 gradle v3.4 和 shadowjar v1.2.4。我添加了以下任务,但在执行此操作时在下面复制了错误。我添加了一个 ShadowJar 类型的任务,以便能够从同一个项目生成不同
我试图使用ShadowJar gradle插件将我的ktor应用打包到胖 jar 中。但是由于shadowJar任务的结果,我每次都会得到几乎空的jar。它仅包含 list (正确设置了主类)。 Gr
我正在使用 shadowJar com.github.johnrengelman.shadow 提供的 Gradle 目标用于构建应用程序的 Gradle 插件,需要 org.apache.hive.
我怎样才能结合application.con用于 lightben/typesafe 配置的 HOCON 格式文件 https://github.com/lightbend/config使用 grad
我试图创建一个 jar ,而不从每个 jar 解压缩类文件。不幸的是,shadowJar解压缩了所有的jar文件,因此生成的jar文件包含目录而不是jar文件。 我的build.gradle文件是:
在调整中 my buildfile ,我好像to have遇到了 bug与 mainClassName : thufir@dur:~/NetBeansProjects/HelloSeleniumWor
请注意:即使我的 myapp-server是 DropWizard app ,这严格来说是一个 Gradle 题;我只提到 DropWizard 是为了很好的衡量。 我有一个使用 Gradle 构建的
我正在使用 ShadowJar Gradle 插件构建一个 Jar,其中包含 src/main/java 目录中的所有源文件以及 lib 目录中的其他 Jar 文件并且工作正常。我需要的是另一个 Sh
我正在尝试使用 ShadowJar 插件创建两个“fatJars”作为同一构建文件的一部分。我试图通过声明 ShadowJar 类型的两个任务在构建中运行 shadowJar 任务两次 到目前为止,我
我有一个包含 8 个子项目的 gradle 项目和一个配置的 shadowjar 任务来创建一个“所有”jar。顶层项目设置为对其所有子项目具有依赖性,这告诉 shadowjar 要包含的内容: pr
我正在使用 shadowJar 插件来构建/创建我的 fatJar 。在我的 build.gradle 我有这个 shadowJar{ mergeServiceFiles('META-INF/spri
我有一个简单的 gRPC 客户端,由 Gradle 使用 shadowJar 打包在一个 jar 中。当我运行 main()使用 IntelliJ,RPC 发送成功。当我用 java -jar 运行它
从版本 5 开始 gradle changed Archive Tasks behavior 这打破了 shadowJar不创建 --all.jar 的任务默认行为神器了。 如何恢复此行为并创建 *-
我是一名优秀的程序员,十分优秀!