阅读前提
- 假设你对Oracle EBS中的OA Framework有所了解
- 假设你对jsp有所了解
问题描述
如果我们想要将我们自己的jsp文件上传到EBS中并在EBS的容器内运行,通常情况下你需要如下几部操作:
- 将你的jsp文件通过FTP上传至$OA_HTML下,
- 为这个jsp文件在EBS中定义一个功能(即Function)
- 将该功能指定到一个你的用户所拥有的职责可以访问的菜单下
当你运行的时候,你很可能会遇到找不到java类如下错误:
javax.servlet.ServletException: oracle.classloader.util.AnnotatedClassNotFoundException
解决方案
导致找不到java类的原因是这个jsp根本就没有被编译,有人说jsp在Apache服务器中是在运行时时自动编译运行的。但是在Oracle里面这个动作时被EBS的本身所控制的。秘密就在
$INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml这个配置文件中,修DEVELOPER_MODE和Main_Mode节点的值修改为如下所示:
1
2
3
4
5
|
<
param-name
>developer_mode</
param-name
>
<
param-value
>true</
param-value
>
<
param-name
>main_mode</
param-name
>
<
param-value
>recompile</
param-value
>
|
然后运行下面的命令重启HTTP服务器:
1
2
|
$ADMIN_SCRIPTS_HOME
/
adapcctl.sh stopall
$ADMIN_SCRIPTS_HOME
/
adapcctl.sh startall
|
OK,你的JSP页面不在有找不到java类的情况了。