有很多类似的问题,但我找不到一个能让这个类自己解决的。我们使用的依赖项来自此项目的webp支持:
implementation "org.sejda.imageio:webp-imageio:0.1.6"
如果我们不尝试更改写入参数,它可以正常工作,但如果我们这样做:
Iterator imageWriters = ImageIO.getImageWritersByFormatName("webp");
ImageWriter writer = (ImageWriter) imageWriters.next();
WebPWriteParam writeParam = new WebPWriteParam(null);
writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
writeParam.setCompressionType(writeParam.getCompressionTypes([WebPWriteParam.LOSSY_COMPRESSION]);
writeParam.setCompressionQuality(0.75f);
baos = new ByteArrayOutputStream();
ImageOutputStream ios = ImageIO.createImageOutputStream(baos);
writer.setOutput(ios);
writer.write(null, new IIOImage(img, null, null), writeParam);
我们得到这个奇怪的例外
java.lang.ClassCastException:class com.luciad.imageio.webp。WebPWriteParam无法强制转换为类com.luciad.imageio.webp。WebPWriteParam(com.luciad.imageio.webp.WebPWriteParam位于加载器org.apache.catalina.loader.ParallelWebappClassLoader@34282781的未命名模块中;com.luciad.imageio.webp.WebPWriteParam位于加载程序org.apach.catalina.loaders.parallellWebAppClassloader@238ad8c的未命名模件中)位于com.lusiad.imagelio.WebPWriter.write(WebPWriter.java:67)~[webp-imageio-0.1.6.jar:?]在com.XXX.business.util.ImageServices$ImageSaver.run(ImageServices.java:874)[rcw core.jar:?]在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool Executor.java:1130)[?:?]在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPool Executor.java:630)[?:?]在java.lang.Thread.run(Thread.java:832)[?:?]
我非常理解类加载器,但不理解这个模块概念在这里是如何不起作用的。你能给我指出正确的方向吗?
在类路径中有两次此类。错误消息试图为您提供两个来源,但不是很成功。
一般来说:试图将类A的对象(来自类加载器/jar C1)类型转换为具有相同名称A的类的对象,但是从类加载器/jar C2加载。
找到C1和C2并消除其中一个。使类只可用一次,问题就会消失
我试图从生成的源创建一个bean。 每次我尝试运行我的spring boot应用程序时,我都会得到以下错误: 原因:java.lang.ClassCastException:类org.apache.cxf.endpoint.clientImpl无法强制转换为类com.xignite.services.xigniteCurrenciesSOAP(org.apache.cxf.endpoint.cli
我的错误:- java.lang.ClassCastException:类*不能强制转换为类java.io.Serializable(*位于加载程序'app'的未命名模块中;java.io.Serializable位于加载程序'bootstrap'的模块java.base中) 表示包和类名。
我的错误:- java.lang.ClassCastException:类*不能强制转换为类java.io.Serializable(*位于加载程序'app'的未命名模块中;java.io.Serializable位于加载程序'bootstrap'的模块java.base中) 表示包和类名。
我目前在Java面临一个仿制药的问题。我需要返回一个已转换到子级的父级实例。 下面的示例显示了我正在尝试实现的目标。 此代码不运行,而是产生以下异常: 类com.generics.generictest$parent不能强制转换为类com.generics.generictest$childEntity(com.generics.generictest$parent和com.generics.ge
问题内容: 我有2个不同的Java项目,其中一个有2个类:。 在另一个项目中,我动态加载这两个类并将它们存储在 Object 然后,我继续使用创建一个对象并将其存储在该对象上,然后我还将创建一个对象并将其添加到会话中。 在Form项目的生命周期中,我调用从会话中加载先前创建的bean对象(我正在运行)。当我尝试将此对象投射回A时,它失败,并显示。 当我使用以下方法将对象拉出会话时 并使用 检查
我有一个与这里类似的问题,DispatcherServlet不能强制转换为Servlet,这是在使用Eclipse运行一个新的Spring MVC项目时发生的。然而,所有的答案都暗示了一个使用Maven的解决方案,而我没有使用Maven。 我为这个问题找了一天,但没有解决办法。