Search code examples
javajaroracle-adfjdeveloperweblogic12c

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


I'm new to ADF/JDeveloper and am struggling with the typical 'class not found' - hopefully there's a trick to this?

Using: JDeveloper 12c and the integrated web logic server.

Situation: A Servlet is registered in web.xml, but the class is in a 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, which it reports at deployment cannot be found, is in a JAR file.

The JAR file is under

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

I've triple checked that the class is inside that JAR.

I've also tried adding that JAR to the project classpath, although that doesn't seem necessary (didn't make a difference anyway).

FWIW the JAR/Servlet has been used many times in a non ADF environment, so I doubt that the problem is within the JAR.


Solution

  • Removing the JAR from Project Properties->Libraries and Classpath and then readding it fixed the problem.

    Time, wasted.

    Thanks though to florinmarcus, 1up.