2012-04-28 1 views
2

Java Servlet 내에서 새 Java EE 6.0 주석을 사용하여 DataSource를 정의하려고합니다. 예 : @DataSourceDefinition 주석. 그러나 Tomcat 7.0.x는 라이브러리에 대해 코드를 컴파일 할 수 없어서 지원하지 않습니다.Tomcat 7 및 Java EE 6.0 javax.annotation.sql 패키지

나는 Apache Tomcat 웹 사이트에서 운이없는이 지점에 대한 정보를 찾아 보았습니다.

그래서 내 질문은 :

  • 당신은 톰캣 7.0.x가 javax.annotation.sql 패키지를 지원하지 않는 나를 확인합니까?
  • 아무리 생각해도 될까요?
  • 공식 지원이 들어오는 동안 Tomcat에서 이와 같은 지원을 받으려면 어떻게해야합니까?
+0

"라이브러리에 대해 코드를 컴파일 할 수 없음"부분을 강조하여 질문을 수정하십시오. 당신은 무엇을 컴파일하려고합니까? 너의 classpath에 뭐가있어? – skaffman

+0

음, DataSourceDefinition 주석을 사용하려고하는 Java Servlet을 컴파일하려고합니다. 내 클래스 패스에는 모든 바람둥이 7.0.22 라이브러리 (JAR은/lib 디렉토리에 위치)가 있습니다. 그리고 컴파일러는 DataSourceDefinition을 유형으로 해석 할 수 없다고 불평합니다. WebServlet과 같은 다른 주석과도 잘 작동합니다. 감사. –

답변

5

톰캣은 서블릿과 JSP 만 구현합니다. @DataSourceDefinition은 Tomcat이 지원하지 않기로 선택한 공통 주석 (JSR 250)에 있습니다.

TomEE 인시 어 시도 할 수도 있습니다.

+0

고마워요! 이것이 그때의 이유입니다 ... –

+0

Tomcat은 Tomcat 6 이후 공통 주석을 구현합니다. Tomcat'lib/annotations-api.jar'를 참조하십시오. –

+0

@ Arendv.Reinersdorff 그렇긴하지만'@ DataSourceDefinition'은 아무 것도하지 않습니까? web.xml의'data-source' 엘리먼트도 유효성을 검사하지만, 아무것도하지 못하는가? 시도해보고 알려주세요;) –

0

이것은 bug in Tomcat이고, Tomcat의 lib/annotations-api.jar은 Commons 주석의 변경 사항으로 업데이트되지 않았습니다.

톰캣 7 또는 8을 최신 버전으로 업데이트하여 @DataSourceDefinition 주석을 확인하십시오.

편집

Arjan Tijms가 지적 하듯이, 주석이 톰캣에 포함되어 있지만, 아마도 지원되지 않습니다. Tomcat은 아마도 당신이 그것을 사용한다면 데이터 소스를 만들지 않을 것이다.