Java Cargo NoClassDefFoundError当使用嵌入9.1.1的jetty模块的webapp时

Java Cargo NoClassDefFoundError当使用嵌入9.1.1的jetty模块的webapp时,java,maven,jetty,cargo,Java,Maven,Jetty,Cargo,我使用cargo maven插件进行测试。Cargo用于启动我们的webapp,然后对其运行RESTAPI测试。 我们使用的是jetty 9.1.1 我使用的是cargo版本:1.4.8 以下是cargo插件的配置: org.codehaus.cargo 您可以发布完整堆栈跟踪吗?这种错误在静态初始化失败时也会发生(静态块中的运行时异常)。但在考虑过的类中似乎没有静态块…添加了完整的异常。cargo 1.4.14版和jetty 9.2.9版也会出现这种情况。您是否尝试过将提供的从相关依赖项中

我使用cargo maven插件进行测试。Cargo用于启动我们的webapp,然后对其运行RESTAPI测试。 我们使用的是jetty 9.1.1

我使用的是cargo版本:1.4.8

以下是cargo插件的配置:


org.codehaus.cargo


您可以发布完整堆栈跟踪吗?这种错误在静态初始化失败时也会发生(静态块中的运行时异常)。但在考虑过的类中似乎没有静态块…添加了完整的异常。cargo 1.4.14版和jetty 9.2.9版也会出现这种情况。您是否尝试过将提供的
从相关依赖项中删除?尚未尝试。我遵循cargo maven plugin的文档,了解了如何向应用程序的类路径中添加额外的jar(在“容器”的“配置”部分将其配置为依赖项),我看到jar jetty servlet被带到了容器中。但是当我从web应用程序中枚举类路径时(用于调试)我看到只有“jetty start”jar在里面,但不知怎么的,它没有出现在webapp的类路径中。
java.lang.NoClassDefFoundError: org/eclipse/jetty/servlet/ServletContextHandler$Context
at my.package.DefaultServletConfiguration.setServletConfig(DefaultServletConfiguration.java:42)
at my.package.InitServlet.init(InitServlet.java:204)
at javax.servlet.GenericServlet.init(GenericServlet.java:244)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:612)
at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:395)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:871)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:298)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41)
at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:186)
at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:498)
at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:146)
at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180)
at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:461)
at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64)
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:609)
at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:528)
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:391)
at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:560)
at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:235)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
at org.eclipse.jetty.server.Server.start(Server.java:387)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
at org.eclipse.jetty.server.Server.doStart(Server.java:354)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1255)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.jetty.start.Main.invokeMain(Main.java:321)
at org.eclipse.jetty.start.Main.start(Main.java:817)
at org.eclipse.jetty.start.Main.main(Main.java:112)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.servlet.ServletContextHandler$Context
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403)
... 45 more
<container>
    <containerId>jetty9x</containerId>
    <timeout>180000</timeout>
    <artifactInstaller>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-distribution</artifactId>
        <version>${jetty.version}</version>
    </artifactInstaller>
    <dependencies>
        <dependency>
            <artifactId>jetty-servlet</artifactId>
            ...
        </dependency>
    </dependencies>
</container>
.../target/cargo/installs/jetty-distribution-9.2.9.v20150224/jetty-distribution-9.2.9.v20150224/start.jar