簡體   English   中英

Glassfish 3.1.2不包含javax.persistence jar

[英]Glassfish 3.1.2 doesn't contain javax.persistence jar

我正在嘗試使用Eclipse Mars 2和Glassfish 3.1.2,但是當我使用EclipseLink 2.1從表創建實體時,在構建路徑中找不到javax.persistence。

這是正常行為嗎?

  1. 我用eclipse創建了Oracle數據庫連接
  2. 我在Glassfish 3上安裝了JEE 6 SDK
  3. 我啟動了glassfish服務器,並配置了數據源和連接池。
  4. 我創建了一個JPA項目,並從數據庫連接表中創建了實體。

我發現奇怪的是,glassfish / lib內的jee.jar僅包含pom.xml

Glassfish是否不應該包含用jee標准開發的所有罐子?

我的項目是要自動下載此jar的Maven項目嗎? 我可以通過將項目配置為Maven項目來解決此問題嗎?

Glassfish是否不應該包含用jee標准開發的所有罐子?

是的,它以間接方式包含了所有需要的罐子。 即使它是一個只有一個文件的jar文件,也就是MANIFEST.MF和包含您提到的pom文件的目錄maven

但是,如果打開MANIFEST.MF文件,您將看到它指向Class-Path:條目中的許多jar文件,您需要這些文件才能開發JavaEE應用程序。

因此,一切都已存在,您只需要將此文件添加到依賴項中就可以編譯JavaEE(Servlet,JSF,EJB,JPA等)類並在服務器上進行部署。 但是,此(javaee.jar)必須是編譯時依賴項,即,不應將其與應用程序打包在一起,因為jar已包含在服務器中。

我的項目是要自動下載此jar的Maven項目嗎?

不可以。您的項目可以是但不應該是Maven項目。 舉例來說,假設您有一個Eclipse項目,您想在其中開發EJB應用程序。 只需右鍵單擊該項目

  • 轉到“ Properties -> Build Path頁面,然后更改為“ Libraries選項卡

  • 單擊Add External Jars ...

  • 轉到Glassfish lib目錄並添加javaee.jar ,您就完成了。
  • 現在您可以使用所有JavaEE注釋和類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM