• ベストアンサー

JSP too.big エラーの回避方法

JSPのコンパイル時にweblogicでは問題なくコンパイルされるのですが、 WebSphereでは、too.bigというエラーメッセージが表示されてしまいます。 JSPの総記述文が長すぎるためと思うのですが、どんなに頑張って限界 っというところまで小さくしたのですがやはり出てしまいます。 JSPを分割することはとても困難で。。。 もし、どこかにこの許容容量を大きく設定するなどでこのエラーを 回避できる方法をご存知の方がいらしたら是非、教えて下さい。 どうかどうか宜しくお願い致します。

  • Java
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ボクの場合 Tomcat だったんですがやはり長いJSPで OutOfMemory... (ハッキリ覚えてないですが)が出ました。 で -Xmx128m オプションで見事に解決したんですが… 他にも最大値、最小値に同じ値指定する -Xmx128m -Xms128m というような指定の仕方もあるみたいですよ。 -Xmxは最大値、-Xmsは最小値設定です。 効果の程は不明ですが試してみてください。 繰り返しますが 128のところは 256とか他の値も試してみてください。

nsakurako
質問者

お礼

アドバイスをありがとうございました。 ご指摘の箇所を直してみましたが結果は同じでした。 どうもメモリのオーバーではなくコンパイル可能な JSPの容量のようです。 やはりJSPを小さくするしかなさそうです。 ありがとうございました。

その他の回答 (2)

  • KaZtoYou
  • ベストアンサー率73% (11/15)
回答No.3

JVMの設定には間違いないのですがJSPをコンパイルする時に使用するJVMですので 下記にて回答されているWASとは別プロセスのJVMに対し設定が必要かと思います。 weblogicなら weblogic.xmlにて jsp-descriptor要素 compileCommandからJVMのパラメータを指定します。 (細かいことは自分で調べて下さい) WebSphereでも同様の設定があるかと思います。

nsakurako
質問者

お礼

ありがとうございました。

回答No.1

WebSphere 使ったことないので外してるかも知れませんが JVMのデフォルトの使用メモリサイズは64Mになっています。 Javaを起動するコマンドラインで java -Xmx128M ......... などと -Xmx???M というのを追加して起動してください。 ???M は適当に変えて試してみてください。

nsakurako
質問者

お礼

回答をありがとうございました。 早速、試してみます!! 後ほど、ご報告させていただきますね!

nsakurako
質問者

補足

報告が遅くなり、申し訳ありません。 ご指摘の箇所を直してみたのですが、現象は回避できませんでした。 今、<jsp:include>を試してみたのですが、formを各includeファイルで 設定しないといけない為、不可となりました。 あぁ。。やはり無いものでしょうか。。 一から作りなおすとなるとテスト等もあり今からでは厳しい状況。。 もう少し勉強してみます! アドバイスをありがとうございました。

関連するQ&A

  • JSPコンパイルエラー 「Branch is too large, Internal restriction」のエラー

    すいません、マニアックな質問をします。 「あっ!!これ知ってる!!」 って方お願いします。 JSPコンパイルエラー 「Branch is too large, Internal restriction」 のエラーを<jsp:includeを使わない方法で 回避できる方法を教えてください。

    • ベストアンサー
    • Java
  • WebLogic6.0 でのJSPプリコンパイルについて

    WebLogic6.0でJSPのプリコンパイルを行いたいのですが、 Javaコマンドからのコンパイルはできるのに、 weblogic.xml で <jsp-descriptor> <jsp-param> <param-name>precompile</param-name> <param-value>true</param-value> </jsp-param> </jsp-descriptor> と指定しても web.xml で <context-param> <param-name>weblogic.jsp.precompile</param-name> <param-value>true</param-value> </context-param> と指定しても、 エラーがでるだけ、または何も起こらずクラスファイルが生成されない、 となってしまいます。 WebLogic6.0のspecificationにはプリコンパイルの方法がのっているのに 付属のマニュアルにはのっていないので、これはいまだ 解決できないバグということなのでしょうか。 どなたかご存じの方がいましたら教えてください。

    • ベストアンサー
    • Java
  • コンパイルエラーの回避

    ある時点から、 EXCELを立ち上げるとき「非表示モジュール AutoExecNew内」と 閉じるとき「非表示モジュール DistMon内」に 「コンパイルエラーが発生しました」のメッセージが表示されるようになりました。 OFFICE全体をアンインストール&インストールしても回避されません。 今のところ実用上の差し支えはないのですが、エラー表示されなくするにはどうしたらよいのでしょうか

  • JSPにおけるPageディレクティブ記述

    こんにちは、Strutsを勉強しているものです。 ユーザが入力したID, パスワードをフォワード先のJSPで表示するといった簡単なアプリーションを作成していますが、JSP表示時に500エラーとなってしまいます。エラー理由としてpageタグが終了していないことがあげられています。しかし、通常JSPで記述するpageディレクティブには閉じるタグは記述不要と考えています。どのようにすればこのエラーを回避できるのでしょうか。 ▽JSPソース <%@ page contentType="text/html"; charset="Shift_JIS" %> <html> <head> <title>Login Result</title> </head> <body> <%= (String)request.getAttribute("message") %> </body> </html> ※バージョン情報 Tomcat 5.5 JDK 1.5 Struts 1.2.4

    • ベストアンサー
    • Java
  • BCB5 「コンパイラ内部エラー」の回避方法

    Borland C++ Builder5 を使っています。 WindowsXP Pro SP2の環境です。 ダイアログを表示するプログラムを作ろうとすると、コンパイルエラーになります。 この回避方法をお教え下さい。 親Form1のメニューを選択した時に OptionDlg->ShowModal(); で表示しようとしています。 OptionDlgは、「ファイル-新規-ダイアログ」で作ったダイアログです。 ダイアログのNameプロパティに「OptionDlg」と指定し、ソースはOptionDlgu.cppで 登録しました。 親Formで、ヘッダーファイルの追加もしています。 このような状態でコンパイルすると、 sysutils.hpp( ):F1004コンパイラ内部のエラー というメッセージが出て、コンパイル出来ません。 上記の方法で、ダイアログを表示するだけのサンプルプログラムを作ると、 正常にコンパイル出来ます。 初心者の私には、sysutils.hppが何を記述している部分なのか理解出来ていない のですが、今までにも同様の手順でダイアログを出すプログラムを作っていて、 何も問題なかったので、途方に暮れています。

  • get_meta_tagsでのエラー回避方は?

    PHPで、get_meta_tags を使って、ページの説明文を取得しようとしました。 $array["description"]の中身をみて取り出そうとしています。 ところが、http://www.google.co.jp/ のようなメタタグに、description のないページは エラーになってしまいます。 ない場合は、「説明文がありません」等のメッセージを表示させたいのですが、そもそも description が記述されていない場合に、値として、何が返ってくるのか分かりません。 エラーを回避したいのですが、どのようにしたらよいのでしょうか?

    • ベストアンサー
    • PHP
  • JSPでImportエラーになります

    技術サイトを見ながらJSPを勉強しているのですが、 自作のクラスがimportエラーとなる為、コンパイルできない状態です。 色々サイトを検索して調べてみましたが、原因が分からず悩んでいます。 ご教示を宜しくお願いします。 ※下記、[参考資料]ページを見ながら勉強していますが、 原因を調べる為にimportだけの簡単のjsp(test.jsp)を 作成してデバッグ中です。 Windows2000 Apache 2.0.63 Tomcat 6.0.16 JK2 2.0.4 参考資料:http://www.atmarkit.co.jp/fjava/rensai/jsp06/jsp06.html ----------------------------------------------------------------------------- ■エラー内容(ブラウザの表示結果) org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: An error occurred at line: 6 in the generated java file Only a type can be imported. atmarkit.CopyrightHTML resolves to a package ■ファイルの配置 $docbase →test.jspを配置 $docbase\WEB-INF\classes\atmarkit →CopyrightHTML.classを配置 $docbase\WEB-INF\lib ■test.jsp <%@ page contentType="text/html; charset=SHIFT_JIS" %> <%@ page import="atmarkit.CopyrightHTML" %> <html> <body> <p>-- テスト --</p> </body> </html> ■CopyrightHTML.java package atmarkit; /** * 著作権表示用のHTMLを生成するクラス */ public class CopyrightHTML { public String year = ""; public String name = ""; public String mail = ""; // 標準的な著作権表示HTML文を取得する public String getNormalHTML() { if(!mail.equals("")) { name = " <a href=\"mailto:" + mail + "\">" + name + "</a>"; } return "Copyright " + year + " " + name + ". All rights reserved."; } // 短い著作権表示HTML文を取得する public String getShortHTML() { if(!mail.equals("")) { name = " <a href=\"mailto:" + mail + "\">" + name + "</a>"; } return "(C) " + year + " " + name + "."; } }

  • ストアドにしたらエラーになる

    10gを使ってます。 1.ワークテーブル作成 2.そのテーブルにインサート の一連のスクリプトをsql/plusかなんかでやると問題ないのに それをストアドにしたら2.の時にテーブルが存在しないと言うことで コンパイルエラーになってしまいます。 こうゆう場合どうすればコンパイルエラーを回避できるのでしょうか? 1.と2.を分割して二つのストアドにしないといけないのでしょうか。

  • c++のtemplateでエラーが出ます

    エラーメッセージ too few template-parameter-lists →私的には、templateへのパラメータが少なすぎる と理解しているのですが。。。 コード的にには、以下の通りです。 hoge.hh template<class T> myclass2 { public myclass1* piyo; : : } hoge.ccにて myclass1* myclass2<myclass3>:piyo; →ここで上記のエラー 別のヘッダにて class myclass3 : public myclass1<myclass3> { : : } という感じでコーディングしてます。 gcc3.2.2でのコンパイルでは、問題なくコンパイルでき 実行もできます。 ですが、gcc3.4.2を使用するとコンパイルエラーが出てしまいます。 このエラーの回避方法をご存知の方いらっしゃいましたら 御教授願えませんでしょうか よろしくお願い致します。

  • jspのソース量限界?なのでしょうか・・・

    すいません。未だjavaをはじめて数ヶ月しか経っていない初心者です。 仕事でショッピングサイトのカスタマイズをしています。追加していくうちに、色々includしてあるmainのjspにこんなエラーが出てしまいました。 g.apache.jasper.JasperException: JSPのクラスをコンパイルできません JSPファイル: null の中の行: -1でエラーが発生しました 生成されたサーブレットのエラーです: [javac] Compiling 1 source file C:\xxxxx\ファイル名\work\org\apache\jsp\main_jsp.java:135: コードが大きすぎます。 public void _jspService(HttpServletRequest request, HttpServletResponse response) ^ エラー 1 個 もしくは try・catchが受け取る値が大きすぎるとの事、これはtry・catchをコメントにして回避したのですが コメントなど可能な行の削除はしたのですが、このエラーがでてから削除したのに関わらず、全く追加ができなくなってしまいました。 納期が迫っていてピンチです!!どなたかご存知な方教えてください!!お願いします!!

    • ベストアンサー
    • Java

専門家に質問してみよう