2012-04-04 76 views
3

我們試圖通過以下鏈接使用澤西和Tomcat Java創建樣本Web服務的HelloWorld:Web服務在Java中使用新澤西

但運行應用程序時,我們正在得到像這樣的錯誤:

java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:525) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507) 
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:124) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1136) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1568) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1558) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:679) 

web.xml文件是:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    id="WebApp_ID" version="3.0"> 
    <display-name>Jersey</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    </welcome-file-list> 

    <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> 

</web-app> 

所以,請給我

+0

見http://stackoverflow.com/q/10009010/443515 – Qwerky 2012-04-04 11:07:53

回答

5

已將所有澤西下載文件到lib文件夾有什麼建議?

它是在com.sun.jersey.spi.container.servlet.ServletContainer

+0

我已經添加了所有的球衣罐子lib文件夾中,不過它顯示了同樣的錯誤 – spt 2012-04-04 10:30:09

+0

這是爲我工作,我用下面的罐子 ASM-3.1.jar 傑克遜核-ASL-1.9.2.jar 傑克遜JAXRS-1.9.2.jar 傑克遜映射器-ASL-1.9.2.jar 傑克遜-XC-1.9.2.jar 球衣,客戶1.11.jar 球衣核心 - 1.11.jar 球衣,JSON-1.11.jar 球衣 - 服務器1.11.jar 球衣,servlet的1.11.jar 拋放-1.1.jar JSR311的API -1.1.1.jar – AurA 2012-04-04 10:43:22

+0

請註明您是 – spt 2012-04-04 10:44:31

1

感謝@AurA給ClassNotFoundException - 我缺少的依賴是澤西島servlet-。