2012-01-07 2 views
1

중간 Servlet Java 파일이 아닌 실제 JSP 파일의 행 번호를 포함하도록 컴파일 된 JSP에서 오는 스택 추적을 얻으려면 어떻게해야합니까?Jetty에서 JSR-45 (JSP의 줄 번호) 지원

저는 Jetty 8을 사용하고 있습니다. 현재 Jetty 인스턴스를 프로그래밍 방식으로 사용하고 있습니다.

(필자는 라인 번호 지원과 관련하여 Eclipse를 사용하고 있는데, JSR-45 SMAP 로직을 얻지 못한다. "사이드 카"파일인가, 아니면이 정보가 들어 있는가? 실제 클래스 파일?)

디버깅, 중단 점 작동합니다. JSPs?

답변

3

업데이트 6 월 2017 년

부두 (9)는 더 이상 글래스 피시 JSP를 사용하지 않습니다.

Apache Jasper JSP를 사용하는 경우 다음과 같은 규칙이 적용됩니다.

원래 대답

부두는 JSP 처리를 모두 관리 할 수 ​​글래스 피시 프로젝트에서 JspServlet를 사용합니다.

JspServlet (내용은 ${jetty.home}/etc/webdefault.xml 참조)에 도움이되는 3 개의 init 매개 변수가 있습니다.

  • 사실 (부울) "keepgenerated"
  • "개발"사실 (부울)
  • "classdebuginfo"(부울)가 true

true로 설정하고 이러한 개발 시간 설정을 모두 더 많은 정보를보아야합니다. 중간 소스 파일을 참조 할 수도 있습니다. 이 생성 된 소스 파일에는 주석 처리 된 jsp 소스의 행이 들어 있으며, 그 결과 jsp의 어느 행이 예외를 유발했는지 역 참조하기 위해 사용할 수있는 결과 Java 소스 파일이 포함됩니다.

또한 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 –