4

错误:

javax.imageio.IIOException - Unsupported Image Type]
javax.imageio.IIOException: Unsupported Image Type
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:977)[:1.6.0_26]
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:948)[:1.6.0_26]
    at javax.imageio.ImageIO.read(ImageIO.java:1422)[:1.6.0_26]
    at javax.imageio.ImageIO.read(ImageIO.java:1374)[:1.6.0_26]
    at com.brodos.test.ScaleImage.execute(ScaleImage.java:23)[914:testproject:1.0.0.SNAPSHOT]
    at com.brodos.test.TestProcessor.process(TestProcessor.java:57)[914:testproject:1.0.0.SNAPSHOT]
    at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)[89:org.apache.camel.camel-core:2.8.0.fuse-02-05]
    at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[89:org.apache.camel.camel-core:2.8.0.fuse-02-05]
    at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[89:org.apache.camel.camel-core:2.8.0.fuse-02-05]
    at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[89:org.apache.camel.camel-core:2.8.0.fuse-02-05]
    at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[89:org.apache.camel.camel-core:2.8.0.fuse-02-05].

pom.xml根据以下评论,我已经将 jars 添加到我的 maven 项目和依赖项到我的文件中

4

2 回答 2

2

我认为您需要在 servicemix 中手动注册要与 ImageIO 一起使用的插件。但是您必须确保插件在 servicemix 包的类路径中可用。

ImageIO.scanForPlugins();
于 2014-11-17T09:44:37.457 回答
1
soultions found was  :
First Approach :
1)  use the TwelveMonkeys library https://github.com/haraldk/TwelveMonkeys/

2) before making Image to be read or write as imageIo.read or imageIo.write scan for plugin using  ImageIO.scanForPlugins()  and add the twelvemonkeys lib. as maven depedency.

maven install :

osgi:install -s wrap:mvn:com.twelvemonkeys.imageio/imageio-jpeg/3.0

osgi:install -s wrap:mvn:com.twelvemonkeys.imageio/imageio-core/3.0

osgi:install -s wrap:mvn:com.twelvemonkeys.imageio/imageio-metadata/3.0

osgi:install -s wrap:mvn:com.twelvemonkeys.imageio/imageio-batik/3.0

osgi:install -s wrap:mvn:com.twelvemonkeys.imageio/imageio-jmagick/3.0

osgi:install -s wrap:mvn:batik/batik-1.5-fop/0.20-5



<Import-Package>
    batik;resolution:=optional,
    magick;resolution:=optional,
    bsh;resolution:=optional,
    com.twelvemonkeys.*,
    *
</Import-Package>
<Export-Package>
    com.twelvemonkeys.*,
    com.google.gson.*,
    com.brodos.common.*,
</Export-Package>
<DynamicImport-Package>*</DynamicImport-Package>
<Embed-Dependency>imageio-jpeg,imageio-core,imageio-metadata,imageio.batik,imageio.jmagick;scope=compile|runtime</Embed-Dependency>
<Embed-Transitive>true</Embed-Transitive>


Second Approach : Endorsed Mechanism
1) Add the TwelveMonkeys into servicemix /lib/endorsed directory  and the execute the application.
于 2014-11-18T10:03:15.930 回答