我是 spring 新手,并作為起點遵循教程@Spring IO 教程我已經使用Web、JPA、H2和Lombok使用Eclipse和Maven從 spring 初始化程序下載了項目。以下是代碼集:PayrollApplication.java package com.spring.payroll; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class PayrollApplication { public static void main(String[] args) { SpringApplication.run(PayrollApplication.class, args); } }Employee.java package com.spring.payroll; import lombok.Data; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.GeneratedValue;; @Data @Entity // This is a domain object definition public class Employee { private @Id @GeneratedValue Long id; private String name; private String role; //Constructor now Employee(String name, String role){ this.name = name; this.role = role; } }EmployeeRepository 接口: package com.spring.payroll; import org.springframework.data.jpa.repository.JpaRepository; public interface EmployeeRepository extends JpaRepository<Employee, Long>{ }LoadDatabase放置一些初始數據: package com.spring.payroll; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.CommandLineRunner; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration @Slf4j public class LoadDatabase { @Bean CommandLineRunner initDatabase(EmployeeRepository repository) { return args -> { repository.save(new Employee("A La BD", "Engineer")); repository.save(new Employee("Arvind", "Engineer")); System.out.println("Preloading data successful"); }; } }當我嘗試 Maven 全新安裝時,它在 TEST 步驟中失敗,如下所示:<< 重試后通過將 Jackson 依賴項添加到 pom.xml 進行編輯>>
2 回答

慕桂英3389331
TA貢獻2036條經驗 獲得超8個贊
從堆棧跟蹤看來,杰克遜核心 jar 問題。
Caused by: java.lang.NoClassDefFoundError:com/fasterxml/jackson/core/type/TypeReference
將以下依賴項添加到您的 pom.xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.2</version>
</dependency>

倚天杖
TA貢獻1828條經驗 獲得超3個贊
經過幾次迭代,我能夠解決問題并使我的應用程序運行良好?;旧衔以?jdk/jre/lib 和我的 .m2/repository 中都有彈簧罐(猜測一些早期的工作)并且兩者都在我的類路徑中。刪除舊罐子后,應用程序運行良好。
還有兩個學習:
1) Jackson 數據綁定將隱式包含核心和注釋。因此,如果我們在版本上有差異,也會導致問題。如果我們指定數據綁定,我們要么添加排除項,要么不指定核心和注釋。
2) Jackson:僅在 2.9.4 版本中有一個新類 InvalidDefinitionException,這給我帶來了一些問題。
添加回答
舉報
0/150
提交
取消