Maven메이븐 이용시 라이브러리 관리 주의해야할 점

less than 1 minute read

org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 31 in the generated java file The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory

Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)

http://stackoverflow.com/questions/7064269/the-method-getjspapplicationcontextservletcontext-is-undefined-for-the-type-js

이번 경우는 jsp-api때문이었다.

2.2와 2.5버전에서 변경된 메서드때문에…

joda-time joda-time-jsptags 1.0 jsp-api javax.servlet

이번경우는 joda time에서 jsp-api를 참조하는바람에 다 제외시켜놓은 jsp-api가 지맘대로 포함이되서 문제가 생긴 경우다. 톰캣7에서 문제가 발생한다.

그런데 더 문제는 이클립스에서는 문제가 안 생기다가 서버에서만 문제가 발견된다는거.. 이 경우에는 참 성가시다. 서버로그를 확인해야 되서

jstl, jsp 관련 jar파일은 맨날 문제를 일으키니 미리미리 관리해놓는게 좋다

jsp-api를 provided로 묶어놓으면 괜찮을까 했는데 ..쪼다놈이 2.0파일을 끌어다놓는다.

2.2를 dependency에 넣었는데 왜 2.0을 또 끌어들이나… 메이븐 관리체계에 좀 문제가 있긴하지만 뭐 그래도 잘 설정해놓으면 쓰기는 편하니…하나하나 찾아서 제외시켜야지 뭐 별수없는듯…

joda 1.1은 jsp-api를 참조하지않는다.

Categories:

Updated: