簡體   English   中英

使用JPA的Web應用程序無法在外部Tomcat服務器上運行

[英]Web app with JPA doesn't work on extenal Tomcat server

我在VPS服務器上的Tomcat中發布動態Web應用程序時遇到一些問題。

我開發了一個包含Servlet(創建實體管理器並在數據庫上執行操作)和jar文件的應用程序-實體組件也打包在jar文件中。 應用程序使用eclipselink和postgresql。

在安裝了Eclipse的Tomcat 7 Server上,一切正常,但是當我嘗試將其部署到VPS上的Tomcat 7 Server時,出現異常:

javax.servlet.ServletException: Error instantiating servlet class pl.marekbury.controller.StoreServer

和根本原因

javax.naming.NameNotFoundException: Name [pl.marekbury.controller.StoreServer/PERSISTENCE_UNIT_NAME] is not bound in this Context. Unable to find [pl.marekbury.controller.StoreServer].

我在與localhost eclipse集成的服務器上也遇到了相同的錯誤,但是我找到了一個解決方案(在這里,位於堆棧上),可以更改eclipselink版本,在執行id之后,錯誤消失了。

我正在通過以下方式部署應用程序:-從eclispe導出戰爭-通過tomcat Web Manager部署它

我試過:-將服務器更改為Tomee-將所有jar庫放在WEB-INF / lib中

部署到tomcat之后,應用程序文件夾的結構:

 ----krzyzyk
      |   |---index.jsp
      |---META-INF
      |          |---MANIFEST.MF
      |
      |---WEB-INF
      |          |---web.xml
      |          |---lib
      |          |      |---all jar files(entities,servlet-api itd..)
      |          |
      |          |---classes
      |          |      |---META-INF(remain after making jar with entities)
      |          |      |---pl
      |          |      |     |---marekbury
      |          |      |     |        |---controller
      |          |      |     |        |       |---StoreServer.class
      |          |      |     |        |---model
      |          |      |     |        |       |---entities
      |          |      |     |        |       |       |---User.class (remain after making jar with entities)

index.jsp向Servlet StoreServer發出http請求

任何想法如何使其正常運行?

我找到了解決方案。 錯誤是由vps(oracle 1.7)和我的計算機(openJDK 1.7)上不同的Java版本引起的。 我已經在VPS上制作了.WAR文件,並且一切正常。

暫無
暫無

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

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