- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我一直在使用 org.glassfish.jersey.servlet.ServletContainer
得到一个 ClassNotFoundException,但昨晚当我尝试使用 Eclipse Juno 启动/重新启动我的 Tomcat 服务器 (v7) 时,它异常启动.
不确定发生了什么。奇怪的是,它昨晚才开始发生,而在此之前它运行良好。
这是堆栈跟踪:
Feb 25, 2014 11:11:19 AM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet com.att.ucomm.admin.UCommAdminFunctions as unavailable
Feb 25, 2014 11:11:19 AM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /UCommAdminFunctions threw load() exception
java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1671)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118 )
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1048)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:996)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4762)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5045)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3670)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:424)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1207)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1393)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1403)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1403)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1382)
at java.lang.Thread.run(Unknown Source)
Feb 25, 2014 11:11:19 AM org.apache.catalina.core.StandardContext reload
INFO: Reloading Context with name [/UCommAdminFunctions] is completed
Feb 25, 2014 11:13:33 AM org.apache.catalina.core.StandardWrapperValve invoke
INFO: Servlet com.att.ucomm.admin.UCommAdminFunctions is currently unavailable
这是我的 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>com.att.ucomm.admin.UCommAdminFunctions</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<!-- Register JAX-RS Application, if needed. -->
<init-param>
<param-name>com.att.ucomm.admin.UCommAdminFunctions</param-name>
<param-value>my.package.MyApplication</param-value>
</init-param>
<!-- Register resources and providers under my.package. -->
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.att.ucomm.admin</param-value>
</init-param>
<!-- Register my custom provider (not needed if it's in my.package) AND LoggingFilter. -->
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value>com.att.ucomm.admin.SecurityRequestFilter;org.glassfish.jersey.filter.LoggingFilter</param-value>
</init-param>
<!-- Enable Tracing support. -->
<init-param>
<param-name>jersey.config.server.tracing</param-name>
<param-value>ALL</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>com.att.ucomm.admin.UCommAdminFunctions</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
我确保 Jersey 的 jar 文件仍然存在于 WEB-INF/lib 中:
最佳答案
问题:
java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer
表示您尝试使用 Jersey 2.x servlet,但您提供的是 Jersey 1.x 库。
对于 Jersey 1.x 你必须这样做:
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>sample.hello.resources</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
有关更多信息,请查看 Jersey 1.x documentation .
如果您改为使用 Jersey 2.x,则必须提供 Jersey 2.x 库。在基于 Maven 的项目中,您可以使用以下内容:
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.xx</version>
</dependency>
<!-- if you are using Jersey client specific features without the server side -->
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.xx</version>
</dependency>
对于 Jersey 2.x,您不需要在 web.xml
中设置任何内容,提供类似于以下的类就足够了:
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("rest")
public class ApplicationConfig extends Application {
}
有关更多信息,请查看 Jersey documentation .
另请参阅:
关于java - org.glassfish.jersey.servlet.ServletContainer 类NotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50082983/
我正在使用 CustomMultiAutoCompleteTextView 引用 this 选择多个联系人在该代码中选择多个联系人,但我想显示在 toast 消息上选择的数字是什么。当为此单击按钮时,
我想改变我的 snackbar 的颜色 snackbarView.setBackgroundColor(ContextCompat.getColor(context, Color.RED)); 我得到
E/AndroidRuntime( 5751): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.exam
我已经用maven构建了我的项目所有构建成功并且 eclipse 属性生成也成功 但是当我在 Eclipse 4 中打开项目时,出现此错误 An internal error occurred dur
我刚刚学习了 Android 编码,这是一个简单的除法、乘法、加法和减法应用程序的源代码,该应用程序在我和我 friend 的 Android 手机上崩溃(在 Lenovo A390 和 Nexus
这是我的 .java 文件: package com.example.rohitkulkarni.readingfile; import android.os.Environment; import
因此,每当我运行我的应用程序时,它都会立即崩溃并给出以下错误: No package identifier when getting value for resource number 0x00000
我正在使用 zxing 解码二维码图像,但它总是返回 NotFoundException。在线解码器 http://zxing.org/w/decode.jspx扫描这些图像非常好,所以它应该能够在我
我注意到我的华为手机生产应用的许多崩溃报告与复数处理完全相关。其他手机没有这个问题只有华为才有。 所有复数形式都存在并且在其他设备上也能正常工作。 看来华为根本无法处理复数: android.cont
我有一个拥有超过 100.000 名用户的应用程序。但是在某些设备(~50)上我得到了一个奇怪的异常。堆栈跟踪显示,未找到可绘制对象。 这是堆栈跟踪: java.lang.RuntimeExcepti
我尝试使用 Zxing 来解码 Aztec 代码。 我使用来自 SO answer 的代码.这是其中的一部分: public static String readQRCode(String fileP
我正在创建一个应用程序,玩家可以在该应用程序中将自己的名字输入到编辑文本中。此信息被检索并通过 extras 发送到第二个 Activity 。每当我运行它时,我都会收到 Resources$NotF
我尝试构建 apk 的发布版本并在 Honor 5x (api 23) 上启动时出现错误: Caused by: android.view.InflateException: Binary XML f
我的一个应用在三星 S5(准确地说是 SM G900V)上崩溃了,但有以下异常(exception): android.content.res.Resources$NotFoundException:
我收到来自 android 市场的崩溃报告: android.content.res.Resources$NotFoundException: Resource ID #0x.... 我每周会收到大约
我有一个动态功能模块,它有自己的嵌套导航图。我还有一个动态功能模块,它只是一个 fragment 。如果您有一个带有自己导航图的动态功能模块,我知道您需要使用 包含动态标签。当我构建应用程序并将应用程
我的选项菜单中有一个麦克风按钮。当我单击它时,我希望它显示备用图像(红色麦克风)。 但是它不起作用。失败并出现 ResourcesNotFoundException。图像(png)肯定位于适当的 re
我正在循环显示近 4,000 张带有图像名称的图像。 这是我用来从可绘制文件夹获取图像的代码 for(int i=0; i
我试图扩展一个RelativeLayout对象并包含一个嵌入的SurfaceView对象,该对象使用/res/drawable文件夹中的png文件作为背景,但我在XML布局编辑器中不断收到错误。请参阅
崩溃发生在不同设备、不同 Android 版本的总用户中的 0.1%。 android.content.res.Resources$NotFoundException: at android.co
我是一名优秀的程序员,十分优秀!