0

我在我的 VPS 服务器上的 Tomcat 中发布我的动态 Web 应用程序时遇到了一些问题。

我开发了一个包含 Servlet(创建实体管理器并对数据库进行操作)和 jar 文件的应用程序 - 实体组件也打包在 jar 文件中。应用程序使用 eclipselink 和 postgresql。

在 Tomcat 7 Server 上安装了女巫 Eclipse,一切正常,但是当我尝试将它部署到我的 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 集成服务器上也有同样的错误,但我找到了一个解决方案(somwere here,on stack)来更改 eclipselink 版本,在我做了 id 之后,错误就消失了。

我正在以这些方式部署应用程序: - 从 eclispe 导出战争 - 通过 tomcat 网络管理器部署它

我试过: - 将服务器更改为 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 请求

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

4

1 回答 1

1

我找到了解决方案。错误是由 vps(oracle 1.7)和我的计算机(openJDK 1.7)上的不同 Java 版本引起的。我在 VPS 上制作了 .WAR,一切正常。

于 2013-07-23T18:14:33.627 回答