[英]Glassfish 3.1.2 doesn't contain javax.persistence jar
我正在嘗試使用Eclipse Mars 2和Glassfish 3.1.2,但是當我使用EclipseLink 2.1從表創建實體時,在構建路徑中找不到javax.persistence。
這是正常行為嗎?
我發現奇怪的是,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 ...
lib
目錄並添加javaee.jar
,您就完成了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.