[英]How to use httpcomponents in wildfly 10 with EAR project?
我無法使org.apache.httpcomponents在Wildfly 10中工作。我沒有嘗試過9。我得到的錯誤基本上是。
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
我查看了Wildfly 8.1 ClassNotFound org.apache.http.conn.ClientConnectionManager ,但是描述的jboss-deployment-structure.xml
在這里不起作用。
我嘗試了POM文件中的各種組合,但是我對此一無所知。
該類在構造時會失敗,因此import語句會引起問題。
我無法訪問該模塊或無法將所需的jar文件部署到ear lib目錄中。
編輯:我正在使用JBoss Developer Studio。 我似乎正在取得一些進展,如果我將我的opca-ear.ear文件手動復制到部署目錄中,則將部署httpclient和httpcore jar,但是如果我從jbstudio進行部署,它們將不會部署,所以我想這是一個問題使用jboss-modules.jar
部署。 無法從jbstudio進行調試/部署會很痛苦。 Httpclient和httpcore在我的lib目錄的opca-ear.ear文件以及ejb / target / opca-ear / lib目錄中。
如果我能得到類似jboss-deployment-structure.xml
或清單文件中的條目的信息,以便wildfly為客戶端提供對org.apache.httpcomponents資源的訪問,那么我就不必擔心jboss-modules.jar
。
解決方案:如已接受的答案所述, jboss-deployment-structure.xml
僅適用於“完整”部署,因此我使用了manifest.mf條目。
Dependencies: org.apache.httpcomponents
並更新了maven-ejb-plugin以使用它:
<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>
這完全取決於哪個代碼需要它。 如果您未聲明“完整”應用程序,那么您提到的jboss-deployment-structure.xml將無法正常工作。
也許您只需在需要它的jar / war中添加帶有Dependencies:org.apache.httpcomponents條目的清單。
看看https://docs.jboss.org/author/display/WFLY10/Class+Loading+in+WildFly
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.