gpt4 book ai didi

javax.ImageIO 方法静默失败

转载 作者:行者123 更新时间:2023-12-02 04:17:20 29 4
gpt4 key购买 nike

如果我的 java 代码调用任何 javax.ImageIO 方法,它会引发静默错误。例如

File screenshot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
try
{
BufferedImage fullImg = ImageIO.read(screenshot);
}
catch(Exception e)
{
e.printStackTrace();
}

没有产生错误消息,但代码在此时停止。我尝试调用 ImageIO.getReaderFormatNames() 只是为了查看,但它也会引发无声错误。此问题出现在安装了 oracle jre(java 版本“1.8.0_60”)的 Ubuntu 中。请注意,相同的代码在 Windows (10) 中运行得非常好。我也尝试过使用 FileInputStream

FileInputStream fis = new FileInputStream(screenshot);
BufferedImage fullImg = ImageIO.read(fis);

最佳答案

在 @MadProgrammer 建议我捕获 Throwable 而不是 Exception 进行调试后,我解决了问题。我发现我的Ubuntu 15.04机器没有安装libxtst6,导致出现以下错误

java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-8-oracle/jre/lib/amd64/libawt_xawt.so: libXtst.so.6: cannot open shared object file: No such file or directory

最终导致以下 NoClassDefFoundError

java.lang.NoClassDefFoundError: Could not initialize class javax.imageio.ImageIO

我的java版本是1.8.0_60希望它可以帮助其他面临类似问题的人。

关于javax.ImageIO 方法静默失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33179187/

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