「SunのjavacでJSPコンパイル」の編集履歴(バックアップ)一覧はこちら
SunのjavacでJSPコンパイル - (2007/05/30 (水) 15:53:15) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*SunのjavacでJSPコンパイル
玄箱PROのDebianで、Tomcat4+Jikes構成でJSPを表示しようとするとfork:Cannot allocate memoryが出てJSPがコンパイルできない現象が度々発生します。
エラーそのものは物理メモリを増やす、仮想メモリを増やす等で対応すべきものなのでしょうが、玄箱PROの環境を色々と調整するのは大変なので他プロセスへforkしないようにデフォルトのjavac(com.sun.tools.javac.Main)を使ってJSPをコンパイルさせるように変更します。
**tools.jarの準備
i386版のSunJDK1.4.2に付いているtools.jarをFTP等でコピーする
C:\java\j2sdk1.4.2_12\lib\tools.jar
/usr/lib/fjsdk/lib/tools.jar
※Tomcat4起動時に/usr/lib/fjsdk/lib/tools.jarにはパスが入っているため置くだけでよい
**JSPコンパイラの設定をjikesからjavacに戻す
JSPコンパイラにJikesを使わないようにコメントする
> KUROBOX-PRO:~# vi /etc/default/tomcat4
> #JSP_COMPILER=jikes
JSPコンパイラにJikesを使わないようにコメントする
> KUROBOX-PRO:~# vi /etc/tomcat4/web.xml
> <servlet>
> <servlet-name>jsp</servlet-name>
> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
> <init-param>
> <param-name>logVerbosityLevel</param-name>
> <param-value>WARNING</param-value>
> </init-param>
> <!-- init-param>
> <param-name>compiler</param-name>
> <param-value>jikes</param-value>
> </init-param -->
> <init-param>
> <param-name>fork</param-name>
> <param-value>false</param-value>
> </init-param>
> <load-on-startup>3</load-on-startup>
> </servlet>
Tomcat4を再起動する
> KUROBOX-PRO:~# /etc/init.d/tomcat4 stop
> Stopping Tomcat 4.1 servlet engine: .......................tomcat4.
> KUROBOX-PRO:~# /etc/init.d/tomcat4 start
> Starting Tomcat 4.1 servlet engine using Java from /usr/lib/fjsdk: tomcat4.
相変わらずTomcat4は起動したかどうか分からないのでtopでモニタする
大抵起動処理中は一番上にtomcat4ユーザでsablevmプロセスが居座るので、これが無くなれば起動完了。
問題になっていたJSPに対してアクセスしてみる
topでモニタして一度もjikesプロセスが登場せずにsablevmプロセスだけで頑張っていればtools.jar化成功。
*SunのjavacでJSPコンパイル
玄箱PROのDebianで、Tomcat4+Jikes構成でJSPを表示しようとするとfork:Cannot allocate memoryが出てJSPがコンパイルできない現象が度々発生します。
エラーそのものは物理メモリを増やす、仮想メモリを増やす等で対応すべきものなのでしょうが、玄箱PROの環境を色々と調整するのは大変なので他プロセスへforkしないようにデフォルトのjavac(com.sun.tools.javac.Main)を使ってJSPをコンパイルさせるように変更します。
**tools.jarの準備
Windowsなどのi386版のSunJDK1.4.2に付いているtools.jarをFTP等でコピーする
C:\java\j2sdk1.4.2_12\lib\tools.jar
/usr/lib/fjsdk/lib/tools.jar
※Tomcat4起動時に/usr/lib/fjsdk/lib/tools.jarにはパスが入っているため置くだけでよい
※他のtools.jarでもいけるとは思いますが試していません
**JSPコンパイラの設定をjikesからjavacに戻す
JSPコンパイラにJikesを使わないようにコメントする
> KUROBOX-PRO:~# vi /etc/default/tomcat4
> #JSP_COMPILER=jikes
JSPコンパイラにJikesを使わないようにコメントする
> KUROBOX-PRO:~# vi /etc/tomcat4/web.xml
> <servlet>
> <servlet-name>jsp</servlet-name>
> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
> <init-param>
> <param-name>logVerbosityLevel</param-name>
> <param-value>WARNING</param-value>
> </init-param>
> <!-- init-param>
> <param-name>compiler</param-name>
> <param-value>jikes</param-value>
> </init-param -->
> <init-param>
> <param-name>fork</param-name>
> <param-value>false</param-value>
> </init-param>
> <load-on-startup>3</load-on-startup>
> </servlet>
Tomcat4を再起動する
> KUROBOX-PRO:~# /etc/init.d/tomcat4 stop
> Stopping Tomcat 4.1 servlet engine: .......................tomcat4.
> KUROBOX-PRO:~# /etc/init.d/tomcat4 start
> Starting Tomcat 4.1 servlet engine using Java from /usr/lib/fjsdk: tomcat4.
相変わらずTomcat4は起動が完了したかどうか分からないのでtopでモニタする
大抵、起動処理中は一番上にtomcat4ユーザでsablevmプロセスが居座るので、これが無くなれば起動完了。
問題になっていたJSPに対してアクセスしてみる
topでモニタして一度もjikesプロセスが登場せずにsablevmプロセスだけで頑張っていればtools.jar化成功。