2017-03-24 9 views
0

내 JSP service() 메서드가 허용되는 64k 풋 프린트 이상으로 실행되는 경우가 발생했습니다. 이 단계에서 확실한 대답은 "작은 스크립틀릿으로 잘라 내고 사용자 정의 태그 사용을 제어"하는 것입니다. 하지만 내가 몇 가지 작업을 설정할 수 있는지 궁금합니다. ANT/GRADLE을 통해 JSP를 미리 컴파일하십시오. 거대한 스크립틀릿/태그로 인해 깨질 JSP 페이지를 식별하는 데 도움이됩니까?Java 웹 응용 프로그램의 JSP 컴파일 된 크기 확인

업데이트 내 개미 파일에 jspc 컴파일 작업이 정의되어 있습니다. failOnError=false으로 전체 컴파일 작업을 수행 할 것으로 가정합니다. 그러나 나는 모든 성공 메시지를 설정하고 출력하는 showSuccess 속성을 찾을 수 없습니다.

그 이유는 제 프로젝트가 상당히 거대하고 ~ 1k JSP 페이지가 있기 때문입니다. 그래서 나는 영향을받은 JSP를 식별 할 수있는 좀 더 싼 솔루션 (또는 원하는 경우 노동 옵션)을 찾아야한다. 모든 제안은 높이 평가됩니다.

Tomcat 8.0.53과 Ant 및 JDK 8u125를 사용하고 있습니다.

KR,

+0

비슷한 문제가 있습니다. 해결 방법을 찾으셨습니까? – Andrew

+0

사실 - 저는 ant/ivy 빌드의 일부로 JSP를 미리 컴파일했습니다. 그러나 어떤 문제도보고하지 않습니다. 컴파일 오류가 없으면 64k 풋 프린트 오류가 나타납니다. – ha9u63ar

답변

0

나는 일시적으로 컴파일 된 JSP 클래스 파일의 목록을 반복하는 명령 줄 자바 응용 프로그램을 작성)

1이 문제를 해결했다. 2) 아파치 BCEL을 사용하여 파일의 각 메소드를 점검하고 64k 크기와 비교하여 어느 것이 끝났는지 확인합니다. 3) 인쇄하십시오.

Tomcat 클래스 로딩은 매우 고유하며 클래스로드를위한 antloader (따라서 ant 컴파일러 사용)를 허용하려면 tools.jar, ant.jar 및 ant-launcher.jar가 있어야합니다. 그래서 나는 그 문제를 확인하는 다른 방법을 생각해 내야 만했다.

또한 필자는 개미 빌드를 구성하는 방법에 관계없이 webapp을 시작할 때까지 출력이 64k 크기에 대해 불평하지 않는 것으로 보입니다. 별도의 스레드가 실행 중입니다. here