0

大家好,我正在尝试使用 JCO3 库在 java 中实现 webService。

我已经作为 WAR 导出到服务器上的 webapps 文件夹中,但是当我尝试在 Windows 7 32 位的服务器(Tomcat 7)上运行时。

这是一个网络动态项目。我使用了一个名为(sapjco3.jar,这个 jar 带来了一个 sapjco3.dll)的 sap 库。还有一个 json-simple-1.1.1.jar。

出现下一个错误:

INFORMACIÓN: Starting Servlet Engine: Apache Tomcat/7.0.56
    oct 10, 2014 2:30:34 PM com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized
INFORMACIÓN: WSSERVLET12: JAX-WS context listener initializing
    oct 10, 2014 2:30:34 PM com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized
GRAVE: WSSERVLET11: failed to parse runtime descriptor: java.lang.NoClassDefFoundError: com/sap/conn/jco/AbapException
    java.lang.NoClassDefFoundError: com/sap/conn/jco/AbapException
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.getImplementorClass(DeploymentDescriptorParser.java:528)
        at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:207)
        at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:133)
        at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:97)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4994)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
        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: java.lang.ClassNotFoundException: com.sap.conn.jco.AbapException
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
        ... 15 more

oct 10, 2014 2:30:34 PM org.apache.catalina.core.StandardContext listenerStart GRAVE: Excepción enviando evento inicializado de contexto a instancia de escuchador de clase com.sun.xml.ws.transport.http.servlet.WSServletContextListener com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: java.lang.NoClassDefFoundError: com/sap/conn/jco/AbapException    at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:107)     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4994)    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)  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: java.lang.NoClassDefFoundError: com/sap/conn/jco/AbapException   at java.lang.Class.forName0(Native Method)  at java.lang.Class.forName(Unknown Source)  at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.getImplementorClass(DeploymentDescriptorParser.java:528)    at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:207)  at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:133)  at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:97)  ... 9 more Caused by: java.lang.ClassNotFoundException: com.sap.conn.jco.AbapException  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)  ... 15 more

oct 10, 2014 2:30:34 PM org.apache.catalina.core.StandardContext startInternal GRAVE: Error listenerStart oct 10, 2014 2:30:34 PM org.apache.catalina.core.StandardContext startInternal GRAVE: Falló en arranque del Contexto [/middleware_ws] debido a errores previos oct 10, 2014 2:30:34 PM com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextDestroyed INFORMACIÓN: WSSERVLET13: JAX-WS context listener destroyed oct 10, 2014 2:30:35 PM com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized INFORMACIÓN: WSSERVLET12: JAX-WS context listener initializing oct 10, 2014 2:30:36 PM com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init> INFORMACIÓN: WSSERVLET14: JAX-WS servlet initializing oct 10, 2014 2:30:36 PM org.apache.coyote.AbstractProtocol start INFORMACIÓN: Starting ProtocolHandler ["http-bio-8080"] oct 10, 2014 2:30:36 PM org.apache.coyote.AbstractProtocol start INFORMACIÓN: Starting ProtocolHandler ["ajp-bio-8009"] oct 10, 2014 2:30:36 PM org.apache.catalina.startup.Catalina start INFORMACIÓN: Server startup in 3489 ms

当我作为 JAVA 应用程序运行时,此应用程序运行良好。

我希望你的帮助问候

4

1 回答 1

0

使用eclipse构建war文件时,一定要在“Deployment Assemblies”(项目属性)中有所有需要的运行时库和项目依赖。

对于动态 Web 项目,类路径仅用于编译您的源代码。部署程序集将作为 jar 文件打包到 WAR-File 内的 WEB-INF/lib 文件夹中。

于 2014-10-11T23:08:24.663 回答