java - tomcat创建web服务报错

标签 java web-services tomcat7 axis2 eclipse-juno

我通过在 eclipse juno 中使用 Axis 2 使用自下而上的方法创建了两个数字 Web 服务的简单相加。Web 服务正常工作并通过 soa 客户端 mozilla 扩展进行了正确测试,但 tomcat 中存在错误。请查看以下错误

计算器服务无效,导致

java.lang.NoClassDefFoundError: javax/ws/rs/Produces
    at org.apache.axis2.jaxrs.JAXRSUtils.getClassModel(JAXRSUtils.java:53)
    at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.generateSchema(DefaultSchemaGenerator.java:272)
    at org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:468)
    at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:388)
    at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:101)
    at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:178)
    at org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:82)
    at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
    at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:813)
    at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
    at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)
    at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
    at org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:142)
    at org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBasedAxisConfigurator.java:283)
    at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:95)
    at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584)
    at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454)
    at org.apache.axis2.webapp.AxisAdminServlet.init(AxisAdminServlet.java:60)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.ClassNotFoundException: javax.ws.rs.Produces
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
    ... 30 more

[INFO] org.apache.axis2.deployment.DeploymentException: java.lang.NoClassDefFoundError: javax/ws/rs/Produces
[INFO] Deploying Web service: version.aar - file:/M:/mahesh/work/javaws1/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Calc/WEB-INF/services/version.aar
[WARN] No transportReceiver for org.apache.axis2.transport.http.AxisServletListener found. An instance for HTTP will be configured automatically. Please update your axis2.xml file!

最佳答案

Tomcat 只是一个 servlet 容器和 AFAIK,它默认不支持任何类型的 web 服务。

您必须在 WEB-INF/lib 中包含所需的库,或者将其添加到 tomcat lib 文件夹中并使用它。

您将收到 ClassNotFoundException,因为在类路径中找不到 javax/ws/rs/Produces。

将 REST 实现(例如:Jersey)部署到服务器库并重新启动服务器。

关于java - tomcat创建web服务报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20244129/

相关文章:

java - 无法加载 org.hibernate.internal.util.JdbcExceptionHelper

java - 如何在 Apache Tomcat Tribes 集群中启用成员身份验证

java - SUM(item_name) ,不应计算空白行

web-services - 如何从 Exchange 收件箱返回用户的未读邮件计数?

java - Tomcat中JasperListener和其他监听器有什么用

c# - 为什么 ASP.NET session 的过期时间早于其超时时间?

java - CXF 2.7 给出 common.ToolException : Non unique body parts error

Java多态-如何在不同的类中调用相同的方法

java - 计算文本文件中的单词数时跳过字符串的前几个单词

java - 您可以有多组 JAXB 注释来编码/解码为不同的 XML 吗?