簡體   English   中英

如何在帶有EAR項目的wildfly 10中使用httpcomponents?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM