Java 将jai添加为wildfly模块
我有一个JavaBean项目,我需要使用jai,所以我添加了一个maven依赖项Java 将jai添加为wildfly模块,java,wildfly,noclassdeffounderror,javax.imageio,jai,Java,Wildfly,Noclassdeffounderror,Javax.imageio,Jai,我有一个JavaBean项目,我需要使用jai,所以我添加了一个maven依赖项 <dependency> <groupId>com.github.jai-imageio</groupId> <artifactId>jai-imageio-core</artifactId> <version>1.3.1</version> </dependency> 我的代码: pri
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-core</artifactId>
<version>1.3.1</version>
</dependency>
我的代码:
private void write_tiff() throws IOException
{
RenderedImage image=javax.imageio.ImageIO.read(new File("C:\\users\\user\\Desktop\\examples\\srts.jpg"));
RenderedImage image1=javax.imageio.ImageIO.read(new File("C:\\users\\user\\Desktop\\examples\\passport.jpg"));
Iterator<ImageWriter> iterator=ImageIO.getImageWritersByFormatName("TIFF");
System.out.println(iterator.hasNext());
ImageWriter writer=iterator.next();
}
private void write\u tiff()引发IOException
{
RenderImageImage=javax.imageio.imageio.read(新文件(“C:\\users\\user\\Desktop\\examples\\srts.jpg”);
RenderImage1=javax.imageio.imageio.read(新文件(“C:\\users\\user\\Desktop\\examples\\passport.jpg”);
迭代器迭代器=ImageIO.getImageWritersByFormatName(“TIFF”);
System.out.println(iterator.hasNext());
ImageWriter writer=iterator.next();
}
getImageWritersByFormatName(“TIFF”)返回null
但若我从java应用程序调用这个方法,而不是在JavaBean中调用,那个么一切都正常
我试图将modulename更改为com.github.jai-imageio,但没有更改
有人能帮我吗?我可以在不向jvm的ext添加JAR的情况下解决这个问题 代码: pom相关性:
<dependency>
<groupId>com.sun.media</groupId>
<artifactId>jai_imageio</artifactId>
<version>1.2-pre-dr-b04</version>
</dependency>
com.sun.media
jai_imageio
1.2-pre-dr-b04
module.xml(wildfly\modules\system\layers\base\com\sun\media\imageio\main)
可能重复。请特别注意第二个答案,关于Tomcathank you Jon,但我已经尝试调用scanForPlugins(),没有结果。我还将我的jar添加到wildfly的ext文件夹中,但不幸的是没有Resultl。您是否将jai-imageio-core-1.3.1.jar
添加到jre的lib/ext
目录中?我想这就是第一个答案所表明的。是的,我把这个jar放在了C:\Program Files\Java\jre1.8.0\u 101\lib\ext中
Caused by: java.util.NoSuchElementException
at javax.imageio.spi.FilterIterator.next(ServiceRegistry.java:836)
at javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:842)
at javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:827)
at ru.shop.createFile.CreateFileBean.write_tiff(CreateFileBean.java:541)
at ru.shop.createFile.CreateFileBean.testAdd(CreateFileBean.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:82)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)
at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73)
at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.NonPooledEJBComponentInstanceAssociatingInterceptor.processInvocation(NonPooledEJBComponentInstanceAssociatingInterceptor.java:59)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)
... 79 more
private void write_tiff() throws IOException
{
RenderedImage image=javax.imageio.ImageIO.read(new File("C:\\users\\user\\Desktop\\examples\\srts.jpg"));
RenderedImage image1=javax.imageio.ImageIO.read(new File("C:\\users\\user\\Desktop\\examples\\passport.jpg"));
Iterator<ImageWriter> iterator=ImageIO.getImageWritersByFormatName("TIFF");
System.out.println(iterator.hasNext());
ImageWriter writer=iterator.next();
}
ImageIO.scanForPlugins();
ByteArrayOutputStream output_stream=new ByteArrayOutputStream();
try
{
ImageOutputStream output = ImageIO.createImageOutputStream(output_stream);
ImageWriter writer = new TIFFImageWriterSpi().createWriterInstance();
writer.setOutput(output);
writer.prepareWriteSequence(null);
writeToSequence(new IIOImage(ImageIO.read(new ByteArrayInputStream(bytes)),null,null),null);
writer.endWriteSequence();
writer.dispose();
output.flush();
output.close();
<dependency>
<groupId>com.sun.media</groupId>
<artifactId>jai_imageio</artifactId>
<version>1.2-pre-dr-b04</version>
</dependency>
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.sun.media.imageio">
<resources>
<resource-root path="jai_imageio-1.2-pre-dr-b04.jar"/>
<resource-root path="clibwrapper_jiio-1.2-pre-dr-b04.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>