2012-01-07 7 views
1

コンパイルされたJSPからのスタックトレースに、中間のServlet Javaファイルではなく、実際のJSPファイルの行番号を含めるにはどうすればよいですか?JettyのJSR-45(JSPの行番号)のサポート

私はJetty 8を使用しています。現在、プログラムでJettyインスタンスを使用しています。

(JSR-45 SMAPのロジックはあまり得意ではありませんが、コーディングにEclipseを使用していますが、これは「サイドカー」ファイルですか、この情報は実際のクラスファイル?)

デバッグ、ブレークポイントが動作します。 JSP?

答えて

3

更新日:2017年6月

突堤9は、もはやGlassfishのJSPを使用しています。

これはApache Jasper JSPを使用していますが、以下のルールも同じです。

オリジナル回答

桟橋は、そのJSPの処理のすべてを管理するためのGlassFishプロジェクトからのJspServletを使用しています。

JspServletには3つのinitパラメータがあります(${jetty.home}/etc/webdefault.xmlの内容を参照してください)。

  • "keepgenerated"(論理値)true
  • "開発"(論理値)true
  • "classDebugInfoの"(論理値)true

trueにこれらの開発時間の設定のすべてを設定しますより多くの情報を参照する必要があります。 また、中間ソースファイルを参照する必要があります。この生成されたソースファイルには、コメントアウトされたjspソースの行が含まれています。その結果、jspのどの行を逆参照することもできます。

GlassfishのJspServletも、基本的なログ記録インフラストラクチャとしてjava.util.loggingを使用しています。 JspUsage(jsp行番号を含む)のすべての詳細を見るには、FINESTレベルの "org.apache.jasper"パッケージ空間のjava.util.loggingを設定してみてください。

+0

webdefault.xmlファイルはどこで編集(または作成)できますか?私は 'mvn jetty:run'で桟橋を走っています。 –

+0

参照http://stackoverflow.com/questions/4988019/jetty-maven-plugin-is-ignoring-custom-webdefault-xml –