ich ein Java Bean Projekt haben, ich brauche Jai zu verwenden, so dass ich hinzufügen, eine Maven depedendencyhinzufügen Jai als Wildfly Modul
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-core</artifactId>
<version>1.3.1</version>
</dependency>
Ich versuche neues Modul hinzufügen, um Wildfly 9 wie
Modul. xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.github.jaiimageio">
<resources>
<resource-root path="jai-imageio-core-1.3.1.jar"/>
</resources>
</module>
Dann füge ich ein Glas aus mvnrepo Und setzen jar + module.xml in
wildfly-9.0.2.Final \ Module \ system \ Schichten \ base \ com \ Github \ jaiimageio \ main
Da ist in meinem Java-Projekt
jboss-Deployment-structure.xml
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.jboss.ejb3"/>
<module name="org.jboss.ws.api"/>
<module name="org.apache.cxf"/>
<module name="org.jboss.ws.cxf.jbossws-cxf-server"/>
<module name="com.github.jaiimageio"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
Aber wenn ich versuche, meine Java Bean zu nennen habe ich eine Ausnahme bekam
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
Mein Code:
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.getImageWritersByFormatName ("TIFF") gibt null zurück.
Aber wenn ich diese Methode von Java-Anwendung aufrufen, nicht in Java-Bean, ist alles in Ordnung.
Ich versuchte modulierename zu com.github.jai-imagio, aber nichts chandes.
Kann mir jemand helfen?
Mögliches Duplikat [Ausgabe in getImageWritersByFormatName für Tiff. Image Writer erhalten] (http://stackoverflow.com/questions/22523644/issue-in-gettimagewritersbyformatname-for-tiff-getting-image-writer). Beachte besonders die 2. Antwort, bezüglich Tomcat –
Danke Jon, aber ich habe schon versucht, scanForPlugins() aufzurufen, kein Ergebnis. Auch ich füge mein jar ext-Ordner in wildfly hinzu, aber leider auch ohne resutl. –
Haben Sie das 'jai-imagio-core-1.3.1.jar' zu Ihrem' lib/ext'-Verzeichnis hinzugefügt? Ich denke, das war die erste Antwort. –