簡體   English   中英

weblogic ADF中的固定/非理性java.lang.ClassNotFoundException,JAR中的類

[英]Stubborn/irrational java.lang.ClassNotFoundException in weblogic ADF, class in JAR

我是ADF / JDeveloper的新手,並且正在與典型的“未找到的課程”掙扎 - 希望有一個技巧嗎?

使用:JDeveloper 12c和集成的Web邏輯服務器。

情況:Servlet在web.xml中注冊,但該類在JAR中

<servlet>
    <description>..</description>
    <servlet-name>ABCHandlerServlet</servlet-name>
    <servlet-class>com.mine.ControlServlet</servlet-class>
    <init-param>
    <param-name>licenseKey</param-name>
    <param-value>123</param-value>
    </init-param>
</servlet>
...
<servlet-mapping>
    <servlet-name>ABCHandlerServlet</servlet-name>
    <url-pattern>/servlet/GaugeServlet/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ABCHandlerServlet</servlet-name>
    <url-pattern>/mapproxy/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>resources</servlet-name>
    <url-pattern>/bi/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ABCHandlerServlet</servlet-name>
    <url-pattern>*.ABC</url-pattern>
</servlet-mapping>  

無法找到部署時報告的com.mine.ControlServlet位於JAR文件中。

JAR文件位於

ViewController / Application Sources / META-INF / lib / myjar.jar

我已經三次檢查該類是否在JAR中。

我也嘗試將JAR添加到項目類路徑中,盡管這似乎沒有必要(無論如何都沒有任何區別)。

FWIW JAR / Servlet已在非ADF環境中多次使用,因此我懷疑問題是否在JAR中。

從項目屬性 - >庫和類路徑中刪除JAR,然后讀取它修復了問題。

浪費時間。

謝謝florinmarcus,1up。

該庫可能未包裝在WAR中。 將庫添加到ViewControler庫只是故事的一半。 您可能還想檢查WAR部署配置文件是否也包含庫:

右鍵單擊ViewController - >項目屬性 - >部署 - >選擇右側的現有Web模塊 - >編輯(圖標) - > WEB-INF / lib - >貢獻者 - >確保庫已被選中作為部署。

您可以通過右鍵單擊View Controller> Project Properties - >選擇Web模塊 - > Deploy to WAR來仔細檢查WAR內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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