Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 从RESTEasy方法调用mongo jackson映射器时出错_Maven_Servlets_Jackson_Resteasy_Mongo Jackson Mapper - Fatal编程技术网

Maven 从RESTEasy方法调用mongo jackson映射器时出错

Maven 从RESTEasy方法调用mongo jackson映射器时出错,maven,servlets,jackson,resteasy,mongo-jackson-mapper,Maven,Servlets,Jackson,Resteasy,Mongo Jackson Mapper,我已经在这上面呆了几天了。我有一个用maven构建的Javaservlet,它将被部署到Jetty(一个旧版本)。它是Jetty上的一个RESTful web服务,由RESTEasy和Jackson以及Jackson Mongo Mapper构建,用于将我连接到MongoDB 我可以在maven/jetty上运行应用程序(使用mvnjetty:run),对于不使用jacksonmongo映射器/Jackson位的查询,它会像预期的那样返回JSON。然而,当我发送一个触发Jackson和mappe

我已经在这上面呆了几天了。我有一个用maven构建的Javaservlet,它将被部署到Jetty(一个旧版本)。它是Jetty上的一个RESTful web服务,由RESTEasy和Jackson以及Jackson Mongo Mapper构建,用于将我连接到MongoDB

我可以在maven/jetty上运行应用程序(使用mvnjetty:run),对于不使用jacksonmongo映射器/Jackson位的查询,它会像预期的那样返回JSON。然而,当我发送一个触发Jackson和mapper的请求时,我首先遇到以下错误:

java.lang.NoClassDefFoundError: org/codehaus/jackson/map/deser/std/StdDeserializer
java.lang.NoClassDefFoundError: Could not initialize class net.vz.mongodb.jackson.JacksonDBCollection
当我第二次提交(以及所有后续请求)时,会出现以下错误:

java.lang.NoClassDefFoundError: org/codehaus/jackson/map/deser/std/StdDeserializer
java.lang.NoClassDefFoundError: Could not initialize class net.vz.mongodb.jackson.JacksonDBCollection
据我所知,我已经正确地设置了所有依赖项,尽管我将在问题的末尾包括我的web.xml和pom.xml。如果它不是一个依赖项,我就会想到,我的bean(BillItem.class)的传递方式可能存在一些问题。我对Java比较陌生,所以这很容易成为一个愚蠢的错误,而不是与我试图实现的特定堆栈相关的东西……有什么想法吗

以下是我的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_2_5.xsd"
    version="2.5">

   <welcome-file-list>
    <welcome-file>index.html</welcome-file>
   </welcome-file-list>

   <!--  
    <context-param>
        <param-name>resteasy.scan</param-name>
        <param-value>true</param-value>     
    </context-param> -->

   <context-param>
        <param-name>resteasy.resources</param-name>
        <param-value>com.myproject.BillServer</param-value>
   </context-param>

   <context-param>
      <param-name>javax.ws.rs.Application</param-name>
      <param-value>com.myproject.Service</param-value>
   </context-param>

    <context-param>
      <param-name>resteasy.resource.method-interceptors</param-name>
      <param-value>org.jboss.resteasy.core.ResourceMethodSecurityInterceptor</param-value>
   </context-param>

   <listener>
      <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
   </listener>

    <servlet>     
      <servlet-name>Resteasy</servlet-name>
      <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
      <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
      <servlet-name>Resteasy</servlet-name>
      <url-pattern>/*</url-pattern>
   </servlet-mapping>

</web-app>

index.html
resteasy.resources
com.myproject.BillServer
javax.ws.rs.Application
com.myproject.Service
resteasy.resource.method-interceptors
org.jboss.resteasy.core.ResourceMethodSecurityInterceptor
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
放松
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
1.
放松
/*
以下是我的pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.myproject</groupId>
    <version>0.0.1-SNAPSHOT</version>
    <name>MyProject</name>
    <artifactId>MyProject</artifactId>
    <packaging>jar</packaging>

    <properties>
        <java.version>1.6</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>


    <dependencies>
        <!-- Servlet API -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>

        <!-- Jetty -->
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-webapp</artifactId>
            <version>8.1.7.v20120910</version>
        </dependency>
        <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jsp-2.1-glassfish</artifactId>
            <version>2.1.v20100127</version>
        </dependency>   

        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jackson-provider</artifactId>
            <version>2.3.4.Final</version>
        </dependency>

        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jaxrs</artifactId>
            <version>2.3.4.Final</version>    
        </dependency>
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>jaxrs-api</artifactId>
            <version>2.3.4.Final</version>
          </dependency>
          <dependency>
              <groupId>org.codehaus.jackson</groupId>
              <artifactId>jackson-core-asl</artifactId>
              <version>1.9.9</version>
          </dependency>
          <dependency>
              <groupId>net.vz.mongodb.jackson</groupId>
              <artifactId>mongo-jackson-mapper</artifactId>
              <version>1.4.2</version>
          </dependency>       
          <dependency>
              <groupId>org.mongodb</groupId>
              <artifactId>mongo-java-driver</artifactId>
              <version>2.9.1</version>
          </dependency>
    </dependencies>

    <build>
        <plugins>

            <plugin>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>jetty-maven-plugin</artifactId>
                </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>

            <!-- The maven app assembler plugin will generate a script that sets up the classpath and runs your project -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>appassembler-maven-plugin</artifactId>
                <version>1.1.1</version>
                <configuration>
                    <assembleDirectory>target</assembleDirectory> 
                    <programs>
                        <program>
                            <mainClass>com.MyProject.Main</mainClass>
                            <name>webapp</name>
                        </program>
                    </programs>
                    <useAllProjectDependencies>true</useAllProjectDependencies>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>assemble</goal>
                        </goals>
                    </execution>                
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

4.0.0
com.myproject
0.0.1-快照
我的项目
我的项目
罐子
1.6
UTF-8
javax.servlet
servlet api
2.5
org.eclipse.jetty
jetty网络应用程序
8.1.7.v20120910
org.mortbay.jetty
jsp-2.1-glassfish
2.1.v20100127
org.jboss.resteasy
resteasy jackson提供商
2.3.4.最终版本
org.jboss.resteasy
resteasy jaxrs
2.3.4.最终版本
org.jboss.resteasy
jaxrs api
2.3.4.最终版本
org.codehaus.jackson
jackson core asl
1.9.9
net.vz.mongodb.jackson
蒙戈·杰克逊地图绘制者
1.4.2
org.mongodb
mongo java驱动程序
2.9.1
org.mortbay.jetty
jetty maven插件
org.apache.maven.plugins
maven编译器插件
2.3.2
${java.version}
${java.version}
org.codehaus.mojo
appassembler maven插件
1.1.1
目标
com.MyProject.Main
网络应用
真的
包裹
集合
下面的最后一行是抛出错误的违规调用:

        Mongo mongo = new Mongo(MONGO_PATH, MONGO_PORT);
        DB db = mongo.getDB(MONGO_APPDB);
        DBCollection collection = db.getCollection(MONGO_BILL_COL);
        JacksonDBCollection<BillItem, String> coll = JacksonDBCollection.wrap(collection, BillItem.class, String.class);
Mongo-Mongo=新的Mongo(Mongo\u路径,Mongo\u端口);
DB DB=mongo.getDB(mongo_APPDB);
DBCollection=db.getCollection(MONGO\u BILL\u COL);
JacksonDBCollection coll=JacksonDBCollection.wrap(collection,BillItem.class,String.class);

这是一种严重的愚蠢行为。在清理pom文件时,我不小心删除了3个jackson依赖项