TomEE: javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class javax.ws.rs.core.UriBuilder
TomEE: javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class javax.ws.rs.core.UriBuilder
我正在使用 TomEE 7.0.62 来托管 JSP 网络应用程序。
服务器似乎运行完美:我使用manager webapp部署了自己的web应用,web应用的首页显示完美。
但是,尝试导航到其他 JSP 页面会产生以下堆栈跟踪:
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class javax.ws.rs.core.UriBuilder
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845)
org.apache.jsp.sprint_002dworkload_jsp._jspService(sprint_002dworkload_jsp.java:117)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NoClassDefFoundError: Could not initialize class javax.ws.rs.core.UriBuilder
com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClient.<init>(AsynchronousJiraRestClient.java:45)
com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.create(AsynchronousJiraRestClientFactory.java:37)
com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.createWithBasicHttpAuthentication(AsynchronousJiraRestClientFactory.java:42)
com.my_org.jira.reports.JiraReport.createRestClient(JiraReport.java:38)
com.my_org.jira.reports.JiraReport.run(JiraReport.java:42)
org.apache.jsp.sprint_002dworkload_jsp._jspService(sprint_002dworkload_jsp.java:98)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
我不知道从哪里开始调试...这似乎是一个简单的配置错误,但我不知道如何解决包依赖关系。
我使用了错误版本的 TomEE。我使用的是轻量级 Web Profile edition. I had to switch to the JAX-RS 版本,它支持 javax.ws.rs
(JAX-RS)。一旦我进行了切换,我的 servlet 就完美地工作了。
我正在使用 TomEE 7.0.62 来托管 JSP 网络应用程序。
服务器似乎运行完美:我使用manager webapp部署了自己的web应用,web应用的首页显示完美。
但是,尝试导航到其他 JSP 页面会产生以下堆栈跟踪:
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class javax.ws.rs.core.UriBuilder
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845)
org.apache.jsp.sprint_002dworkload_jsp._jspService(sprint_002dworkload_jsp.java:117)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NoClassDefFoundError: Could not initialize class javax.ws.rs.core.UriBuilder
com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClient.<init>(AsynchronousJiraRestClient.java:45)
com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.create(AsynchronousJiraRestClientFactory.java:37)
com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.createWithBasicHttpAuthentication(AsynchronousJiraRestClientFactory.java:42)
com.my_org.jira.reports.JiraReport.createRestClient(JiraReport.java:38)
com.my_org.jira.reports.JiraReport.run(JiraReport.java:42)
org.apache.jsp.sprint_002dworkload_jsp._jspService(sprint_002dworkload_jsp.java:98)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
我不知道从哪里开始调试...这似乎是一个简单的配置错误,但我不知道如何解决包依赖关系。
我使用了错误版本的 TomEE。我使用的是轻量级 Web Profile edition. I had to switch to the JAX-RS 版本,它支持 javax.ws.rs
(JAX-RS)。一旦我进行了切换,我的 servlet 就完美地工作了。