2013-09-06 2 views
3

Tomcat 7의 모든 JSP를 디버깅 목적으로 미리 컴파일하고 모든 JSP 컴파일 오류 로그를 얻는 데 관심이 있습니다. 나는 그물 전체를 수색했으며 어떤 방법으로도 이것을 발견하지 못했다.모든 JSP 컴파일 및 오류 중지 오류

누구나 오픈 소스 도구로이 작업을 수행하는 방법에 대한 제안이 있습니까?

+0

이클립스와 같은 IDE를 사용하는 경우 편집 중에 컴파일 오류를 표시해야합니다. – fujy

+0

그리고 런타임시 JSP를 디버깅하는 것이 필요한 경우 http://stackoverflow.com/questions/123462가 중복 될 수 있습니다./debug-jsp-eclipse와 http://programmers.stackexchange.com/questions/40564/how-can-i-debug-a-jsp – fujy

+0

@fujy, 의견을 주셔서 감사합니다. 내 취향 IDE에 의존하지 않지만 그 접근 방식이 작동합니다. 개미 스크립트를 통해 jspc를 사용하려고 시간을 보냈지 만 그러한 접근 방식에는 별 도움이되지 않았습니다. 다행스럽게도이 대량 컴파일의 유스 케이스는 일반적인 것이 아니므로 셋업 시간은 큰 요소가 아닙니다. –

답변

1

이 작업은 Dev Shed에 문서화되어 있고 here on Stack Overflow으로 참조 된 ANT 빌드 방법을 사용하여 완료 할 수있었습니다. 다음과 같이이 작업은 = "false"를 javac의 작업에 failonerror를 추가했다 얻기 위해 요구되었다 무엇

는 :

<!-- start snip from build.xml from DevShed --> 
<target name="generate-jsp-java-src"> 
    <mkdir dir="${webapp.dir}/WEB-INF/jspc-src/${jspc.dir.prefix}"/> 
    <taskdef classname="org.apache.jasper.JspC" name="jasper2"> 
     <classpath> 
      <path refid="jspc.classpath"/> 
     </classpath> 
    </taskdef> 
    <touch file="${webapp.dir}/WEB-INF/jspc-web.xml"/> 
    <jasper2 uriroot="${webapp.dir}" 
     package="${jspc.pkg.prefix}" 
     webXmlFragment="${webapp.dir}/WEB-INF/jspc-web.xml" 
     outputDir="${webapp.dir}/WEB-INF/jspc-src/${jspc.dir.prefix}" 
     verbose="0" 
     failonerror="false" 
     listerrors="true"/> 
</target> 
<!-- end snip from build.xml from DevShed --> 

는 또한 수행 자세한 설정 = "0"과 listerrors = "true"로 발견 컴파일/빌드 오류 만 표시하고 불필요한 로깅을 줄이는 데 더 효과적입니다.

이 실습에서 배운 추가 노트는 ANT가 작업의 javac 속성을 기반으로하는 setter 메서드를 자동으로 반영하려고한다는 것입니다. Ant가 서명과 일치하면,이 setter 메소드를 실행합니다. 예를 들어, failonerror는 ANT에 의해 setFailOnError (boolean)에 반영됩니다. 따라서 다른 매개 변수를 사용할 수 있는지 알고 싶다면 JspC.java를 열고 사용 가능한 공용 설정자를 확인하고 "get"을 제거하고 소문자로 넣어 일관성을 유지하십시오.

나는이 ANT 설정 반영이 다른 Java 기반 작업에서 일관 적이라고 생각합니다.