繁体   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