最近生产一个jsp文件报了个空指针的异常,但是显示的是_bound.java文件390行,页面是bound.jsp页面,咋办?需要想办法得到_bound.java这个文件,有两个办法:
方法一:添加属性,访问页面后自动生成
文件名:ibm-web-ext.xmi
位置:xxxx.war\WEB-INF
内容:
<?xml version="1.0" encoding="UTF-8"?>
<com.ibm.ejs.models.base.extensions.webappext:WebAppExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:com.ibm.ejs.models.base.extensions.webappext="webappext.xmi">
<webApp href="WEB-INF/web.xml"/>
<jspAttributes name="reloadEnabled" value="true"/>
<jspAttributes name="reloadInterval" value="10"/>
<jspAttributes name="keepgenerated" value="true"/>
</com.ibm.ejs.models.base.extensions.webappext:WebAppExtension>
其中主要是keepgenerated这个属性起作用。
这样发布后就会在访问这个jsp后产生java文件。
生成的java文件位置在
我的是单机的was,如下目录
C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\temp\username-AD90C5E96Node01\server1\xxxx_war\xxxx.war\_bound.java
是以下划线开头的java文件。
方法二:手动编译was下jsp页面
[wsadmin@localhost WEB-INF]$ locate JspBatchCompiler.sh
/opt/IBM/WebSphere/AppServer/bin/JspBatchCompiler.sh
cd /opt/IBM/WebSphere/AppServer/bin
[root@tc3 bin]# ./JspBatchCompiler.sh -war.path /opt/IBM/WebSphere/AppServer/profiles/appser01/installedApps/tc3Cell01/portal_war.ear/portal.war -forcecompilation true -verbose false -compileToDir /opt/lqt