Ich kann org.apache.httpcomponents nicht in Wildfly 10 arbeiten. Ich habe es nicht versucht 9. Der Fehler, den ich bekomme, ist im Grunde genommen.Wie benutzt man httpcomponents in Wildfly 10 mit EAR-Projekt?
Caused by: java.lang.ClassNotFoundException: org.apache.http.client.methods.HttpUriRequest from [Module "deployment.opca-ear.ear.opca-ejb.jar:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93)
... 185 more
Ich sah Wildfly 8.1 ClassNotFound org.apache.http.conn.ClientConnectionManager, aber jboss-deployment-structure.xml
dort beschriebene hier nicht funktioniert.
Ich habe verschiedene Kombinationen von Dingen in der POM-Datei ausprobiert, aber damit komme ich nicht voran.
Die Klasse schlägt beim Erstellen fehl, daher verursachen die Importanweisungen Probleme.
Ich konnte nicht auf das Modul zugreifen oder die benötigten JAR-Dateien in das EAR-Lib-Verzeichnis bereitstellen.
EDIT: Ich benutze JBoss Developer Studio. Ich glaube, ich mache Fortschritte, wenn ich meine opca-ear.ear-Datei manuell in das Deployment-Verzeichnis kopiere, dann werden die httpclient- und httpcore-jars bereitgestellt, aber nicht, wenn ich sie von jbstudio aus deploye, also ist das ein Problem mit jboss-modules.jar
Bereitstellungen. Nicht in der Lage zu sein, von jbstudio zu debuggen/zu deployen, wird ein Schmerz sein. Httpclient und httpcore befinden sich in meiner Datei opca-ear.ear im Verzeichnis lib sowie im Verzeichnis ejb/target/opca-ear/lib.
Wenn ich so etwas wie jboss-deployment-structure.xml
oder vielleicht ein Eintrag in den eine Manifest-Datei zu den org.apache.httpcomponents Ressourcen, um den Client-Zugriff, dass Wildfly bietet so arbeitet bekommen kann dann hätte ich nicht um jboss-modules.jar
zu kümmern.
SOLUTION: Wie in der akzeptierten Antwort erwähnt, arbeitet jboss-deployment-structure.xml
nur auf "voll" Installationen, so habe ich einen manifest.mf Eintrag
Dependencies: org.apache.httpcomponents
und die Maven-ejb-Plugin aktualisiert, es zu benutzen:
<artifactId>maven-ejb-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<!-- Tell Maven we are using EJB 3.1 -->
<ejbVersion>3.1</ejbVersion>
<archive>
<manifestFile>${basedir}/src/main/resources/META-INF/manifest.mf</manifestFile>
</archive>
</configuration>
Wo sind die Http-Komponenten-Gläser in Ihrer EAR-Datei installiert? Im Verzeichnis EAR/lib? Hast du dort sowohl httpclient als auch httpcore? –
Hi @SteveC, siehe EDIT's. –
Ihre Bereitstellung enthält jboss-modules.jar? –