gpt4 book ai didi

java - truezip 的问题 - 调试时,抛出一个奇怪的异常

转载 作者:行者123 更新时间:2023-11-30 09:47:18 26 4
gpt4 key购买 nike

我对 truezip 有一个奇怪的问题。我运行以下代码:

    TFile.setDefaultArchiveDetector(new TArchiveDetector("zip"));
String zipFile = "c:\\test\\test.zip";
TFile dstZip = new TFile(zipFile);
TFile newFile = new TFile("c:\\test\\c.txt");

try {
newFile.cp_rp(dstZip);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

当我运行它时 - 它运行正常。

但是当我调试时,一个“断点”(不是我设置的)在行中遇到了 TFile.setDefaultArchiveDetector(new TArchiveDetector("zip"));

具有以下堆栈:

Thread [main] (Suspended (exception ClassNotFoundException))    
URLClassLoader$1.run() line: not available [local variables unavailable]
AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
Launcher$AppClassLoader(URLClassLoader).findClass(String) line: not available
Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: not available
Launcher$AppClassLoader.loadClass(String, boolean) line: not available
Launcher$AppClassLoader(ClassLoader).loadClass(String) line: not available
JSE7.<clinit>() line: 35
FileDriver.getPriority() line: 57
FsDriverLocator$Boot.<clinit>() line: 85
FsDriverLocator.get() line: 59
TArchiveDetector.<init>(FsDriverProvider, String) line: 125
TArchiveDetector.<init>(String) line: 105
TArchiveDetector.<clinit>() line: 80
Test.main(String[]) line: 12

第二行的参数是:java.lang.ClassNotFoundException:java.nio.file.Path

现在,我真的没有这个接口(interface),但这是 java.nio2 的一部分,据我所知,TrueZip 不需要这个。

有什么想法吗?

谢谢

最佳答案

TrueZIP 似乎尝试使用 Java 7 中的新 NIO 类。

似乎通过动态加载一个名为 JSE7 的类来做到这一点,并可能在失败时回退到经典 NIO。

因此,即使抛出异常,它也会由 TrueZIP 本身处理(捕获并采取行动),用户永远不会看到出现问题。

有问题的代码在名为 de.schlichtherle.truezip.JSE7 的类中.

它有一个静态初始化 block ,试图访问类 java.nio.file.Path(仅存在于 Java 7 中)。当它得到一个NoClassDefFoundError(通常是因为该类不存在),那么static final字段AVAILABLE将被设置为false (这又会导致新的 NIO 驱动程序无法加载)。

关于java - truezip 的问题 - 调试时,抛出一个奇怪的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6729025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com