我是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中。
答案 0 :(得分:2)
从Project Properties-&gt; Libraries和Classpath中删除JAR,然后读取它修复了问题。
时间浪费了。
感谢florinmarcus,1up。
答案 1 :(得分:1)
您的WAR中可能没有打包库。将库添加到ViewControler库只是故事的一半。您可能想要检查您的WAR部署配置文件是否也打包了库:
右键单击ViewController - &gt;项目属性 - &gt;部署 - &gt;选择右侧的现有Web模块 - &gt;编辑(图标) - &gt; WEB-INF / lib - &gt;贡献者 - &gt;确保在部署过程中检查库。
您可以通过右键单击View Controller&gt;来仔细检查WAR内容。项目属性 - &gt;选择Web模块 - &gt;部署到WAR。