2012-04-28 36 views
2

我正在嘗試使用新的Java EE 6.0批註在Java Servlet中定義一個DataSource。例如:@DataSourceDefinition註解。但似乎Tomcat 7.0.x不支持它,因爲我無法針對其庫編譯代碼。Tomcat 7和Java EE 6.0 javax.annotation.sql包

我已經搜索Apache Tomcat網站,找到任何關於這一點的信息,沒有運氣。

所以我的問題是:

  • 你確認我的Tomcat的7.0.x不支持javax.annotation.sql包?
  • 任何想法,如果它會支持它?
  • 任何解決方法在官方支持進入時在Tomcat中獲得此類支持?
+0

更改您的問題,強調「無法針對其庫編譯代碼」部分。你想要編譯什麼?你的類路徑上有什麼? – skaffman 2012-04-28 10:22:43

+0

那麼,我想編譯一個嘗試使用DataSourceDefinition註解的Java Servlet。在我的類路徑中,我擁有所有的tomcat 7.0.22庫(位於/ lib目錄中的JAR)。而編譯器抱怨DataSourceDefinition無法解析爲一個類型。它適用於WebServlet等其他註釋。謝謝。 – 2012-04-28 11:03:00

回答

5

Tomcat只實現Servlet和JSP。 @DataSourceDefinition是常用註釋(JSR 250),Tomcat選擇不支持。

你可能想嘗試TomEE insead。

+0

謝謝!這就是爲什麼... – 2012-04-29 08:21:38

+0

Tomcat自Tomcat 6開始實施Common Annotations。請參閱Tomcat lib/annotations-api.jar。 – 2014-07-07 09:15:52

+0

@ Arendv.Reinersdorff它確實,但是'@ DataSourceDefinition'做了什麼? web.xml中的'data-source'元素也可以驗證,但是它能做什麼?請嘗試它,讓我們知道;) – 2014-07-07 18:28:24

0

這是一個bug in Tomcat,Tomcat的lib/annotations-api.jar未針對Commons註釋中的更改進行更新。

將Tomcat 7或8更新到最新版本以查看@DataSourceDefinition註釋。

編輯

正如阿爾揚Tijms指出,註釋包含在Tomcat中,但可能不會支持。如果您使用它,Tomcat可能不會創建數據源。