【发布时间】:2017-02-08 19:20:10
【问题描述】:
我正在设置我的 Jersey Web 服务,但无法运行,Apache Tomcat 8.5 出错了。有关简单代码、我的库和错误,请参阅下面的详细信息。
我创建了一个动态 Web 项目... 我添加了我的 Jersey 文件...(我遗漏了什么吗?)
- javax.ws.rs-api.2.0.1.jar
- jersey-client.jar
- jersey-common.jar
- jersey-contaner-servlet.jar
- jersey-container-servlet.jar
- jersey-media-jaxb.jar
- jersey-server.jar
我的 Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<servlet>
<servlet-name>myApi</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<!-- The package where your resource classes are -->
<param-value>WS</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>testApi</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
我的 Java 类
package ws;
import javax.ws.rs.*;
import javax.ws.rs.core.*;
@Path("test")
public class Connect {
@GET
@Path("test")
@Produces(MediaType.TEXT_PLAIN)
public String hello(){
return "hello world";
}
}
我之前的错误提示无法启动Apachev8.5
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ThisApi]]
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:911)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:890)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1403)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ThisApi]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
... 6 more
Caused by: java.lang.NoClassDefFoundError: jersey/repackaged/com/google/common/base/Function
at org.glassfish.jersey.internal.ServiceFinder.<clinit>(ServiceFinder.java:165)
at org.glassfish.jersey.servlet.internal.ServletContainerProviderFactory.getAllServletContainerProviders(ServletContainerProviderFactory.java:66)
at org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer.onStartup(JerseyServletContainerInitializer.java:134)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5178)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more
Caused by: java.lang.ClassNotFoundException: jersey.repackaged.com.google.common.base.Function
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
... 11 more
【问题讨论】:
-
看看这是否有帮助......这是针对tomcat 7的。答案列出了所有依赖项,stackoverflow.com/questions/22754372/…
-
我想是这样....可笑的库我需要多少,不确定是什么导致了差异,但我会再检查一下....知道我的测试网址是什么会吗?
-
localhost:port/你的应用程序 contextroot/test
-
hmmmm no 似乎不起作用..我有 java 代码中的 /test/test ......我有 localhost:8081/ (没关系)和我的 localroot - 我如何确定这是否是正确的?我还在 xml 中看到 paramValue ......所以这给了我 localhost:8081\contextroot\WS\test\test
-
应该是:localhost:8081/test/test
标签: java eclipse apache tomcat jersey-2.0