我在我的 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 请求
任何想法如何使其正常运行?