Spring java.lang.ClassNotFoundException:com.fasterxml.jackson.core.JsonProcessingException

Spring java.lang.ClassNotFoundException:com.fasterxml.jackson.core.JsonProcessingException,spring,resttemplate,Spring,Resttemplate,我正在使用templateRest将User对象发布到Rest服务器,但遇到以下错误: 线程“main”java.lang.NoClassDefFoundError中出现异常: com/fasterxml/jackson/core/JsonProcessingException位于 main(RestClientTest.java:33) 原因:java.lang.ClassNotFoundException: com.fasterxml.jackson.core.JsonProcessingE

我正在使用
templateRest
User
对象发布到
Rest服务器
,但遇到以下错误:

线程“main”java.lang.NoClassDefFoundError中出现异常: com/fasterxml/jackson/core/JsonProcessingException位于 main(RestClientTest.java:33) 原因:java.lang.ClassNotFoundException: com.fasterxml.jackson.core.JsonProcessingException位于 java.net.URLClassLoader.findClass(未知源代码)位于 位于的java.lang.ClassLoader.loadClass(未知源) sun.misc.Launcher$AppClassLoader.loadClass(未知源)位于 java.lang.ClassLoader.loadClass(未知源)。。。还有一个

下面是文件
RestClientTest.java

public class RestClientTest {

    public static void main(String[] args) throws IOException{
        RestTemplate rt = new RestTemplate();
//      System.out.println("Rest Response" + loadUser("quypham"));
//      URL url = new URL("http://localhost:8080/rest/user/create");
        rt.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
        rt.getMessageConverters().add(new StringHttpMessageConverter());
//      Map<String,String> vars = new HashMap<String,String>();

        User user = new User();
        user.setUserName("datpham");
        user.setPassWord("12345");
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR,1960);
        user.setBirthDay(calendar.getTime());
        user.setAge(12);
        String uri = new String("http://localhost:8080/rest/user/create");
        User returns = rt.postForObject(uri, user,User.class);

//      createUser(user);
        System.out.println("Rest Response" + loadUser("datpham"));
    }
@Controller
public class UserRestServiceController {
    @Autowired
    public  UserDao userDao;
    @RequestMapping(value = "/rest/user/create",method = RequestMethod.POST)
    @ResponseStatus(HttpStatus.CREATED)
    public void addUser(@RequestBody User user){
        userDao.save(user);
    }
这是pom.xml文件

<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>edu.java.spring.service</groupId>
  <artifactId>springDAT-service</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>springDAT-service Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>4.0.3.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.0.3.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>4.0.3.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.0.3.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.0.3.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>4.0.3.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.1.0.Final</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derby</artifactId>
        <version>10.12.1.1</version>
    </dependency>

    <dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.13</version>
</dependency>

    <dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>


  </dependencies>
  <build>
    <finalName>springMOTHER-service</finalName>
    <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12.4</version>
                <configuration>
                    <skipTests>true</skipTests>
                    <argLine>-Xmx2524m</argLine>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <fork>true</fork>
                    <compilerArgs>
                        <arg>-XDignore.symbol.file</arg>
                    </compilerArgs>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.3.0.M1</version>
                <configuration>
                    <jvmArgs>-Xmx1048m -Xms536m
                        -XX:PermSize=128m -XX:MaxPermSize=512m</jvmArgs>
                    <reload>manual</reload>
                    <systemProperties>
                        <systemProperty>
                            <name>lib</name>
                            <value>${basedir}/target/spring-mvc/WEB-INF/lib</value>
                        </systemProperty>
                    </systemProperties>
                    <scanIntervalSeconds>3</scanIntervalSeconds>
                    <connectors>
                        <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                            <port>8080</port>
                            <maxIdleTime>60000</maxIdleTime>
                        </connector>
                    </connectors>
                    <contextPath>/</contextPath>
                    <webAppSourceDirectory>${basedir}/src/main/webapp</webAppSourceDirectory>
                    <webXml>${basedir}/src/main/webapp/WEB-INF/web.xml</webXml>
                    <classesDirectory>${basedir}/target/classes</classesDirectory>
                </configuration>
            </plugin>

        </plugins>

  </build>
</project>

4.0.0
edu.java.spring.service
springDAT服务
战争
1.0-快照
springDAT服务Maven Webapp
http://maven.apache.org
朱尼特
朱尼特
3.8.1
测试
org.springframework
弹簧芯
4.0.3.1发布
org.springframework
spring上下文
4.0.3.1发布
org.springframework
spring上下文支持
4.0.3.1发布
org.springframework
弹簧网
4.0.3.1发布
org.springframework
SpringWebMVC
4.0.3.1发布
org.springframework
春季甲虫
4.0.3.1发布
org.hibernate
冬眠核心
5.1.0.1最终版本
javax.servlet
servlet api
2.5
org.apache.derby
德比
10.12.1.1
org.codehaus.jackson
杰克逊地图绘制者
1.9.13
jstl
jstl
1.2
春母服务
org.apache.maven.plugins
maven surefire插件
2.12.4
真的
-Xmx2524m
org.apache.maven.plugins
maven编译器插件
3.1
1.8
1.8
UTF-8
真的
-XDignore.symbol.file
org.eclipse.jetty
jetty maven插件
9.3.0.M1
-Xmx1048m-Xms536m
-XX:PermSize=128m-XX:MaxPermSize=512m
手册
解放党
${basedir}/target/spring-mvc/WEB-INF/lib
3.
8080
60000
/
${basedir}/src/main/webapp
${basedir}/src/main/webapp/WEB-INF/WEB.xml
${basedir}/target/classes
我在谷歌上浏览了信息,后来我尝试在pom.xml中添加jackson 2.4,但似乎没有效果:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.4.0-rc3</version>
</dependency>

com.fasterxml.jackson.core
杰克逊数据绑定
2.4.0-rc3

尝试添加到pom.xml

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-core-asl</artifactId>
    <version>1.9.13</version>
</dependency>

org.codehaus.jackson
jackson core asl
1.9.13
添加以下内容:

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-core</artifactId>
  <version>${jackson.version}</version>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>${jackson.version}</version>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-annotations</artifactId>
  <version>${jackson.version}</version>
</dependency>

com.fasterxml.jackson.core
杰克逊核心
${jackson.version}
com.fasterxml.jackson.core
杰克逊数据绑定
${jackson.version}
com.fasterxml.jackson.core
杰克逊注释
${jackson.version}
您可以用任何想要的版本替换
${jackson.version}
,或者只需在pom.xml的顶部添加
2.x.x

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-core-asl</artifactId>
    <version>1.9.13</version>
</dependency>

p/s:我的版本是
2.7.3

我用你的方式尝试过,但仍然出现类似的错误。这没有帮助,我已经有了jackson core asl,但没有成功。jackson core asl中的JsonProcessingException位于另一个包中:org.codehaus.jackson。我将此依赖项添加到pom.xml中。i之后mvn jetty:运行然后发生错误:
[错误]未能在项目springDAT服务上执行目标:无法解析项目edu.java.spring.service:springDAT服务:war:1.0-SNAPSH OT:未能在com.fasterxml.jackson.core:jackson core:ja r:2.7.3:未能读取com.fasterxml.jackson.core:jacks的工件描述符在core:jar:2.7.3:
上无法将工件com.fasterxml.jackson.core:jackso n-core:pom:2.7.3从/传输到中心(https://repo.maven.apache.org/maven2):C:\Prog-ram Files(x86)\apache-maven-3.3.9\REPO\com\fasterxml\jackson\core\jackson-core\2.7.3\jackson-core-2.7.3.pom.part.lock(系统找不到指定的路径d)->[帮助1]
之后是否更新maven?右键单击project->Maven->Update project并按ok。下载:kson core/2.7.3/jackson-core-2.7.3.pom[警告]无法为跟踪文件C:\Program Files(x86)\apache-Maven-3.3.9\REPO\com\fasterxml\jackson\core\jack-core\2.7.3\jac kson-core-2.7.3.pom.lastUpdated创建父目录,因为您将其放在windows目录中,您应该将它放在用户配置文件下的.m2存储库中,这样应该可以工作。在settings.xml中更改maven设置