我有一个用 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 包含所有必要的类,但也许缺少一些东西?
我怎么知道哪个类,哪个包丢失了?还有什么可能导致这种情况?
把它从日食中运行出来......
谢谢你的帮助。