①在springboot的spring-boot-starter-web默認引入了以下依賴:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.7</version>
</dependency>
在spring-boot-starter-web的這個依賴包里集成了所有的springframework的包比如spring-bean,tx,core等所就不需要引入springframework的包了。要不然由於版本號或者包沖突導致啟動失敗。解決方法:刪掉springframe的包即可。
②下面這個錯誤也是包問題
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.validation.beanvalidation.LocalValidatorFactoryBean]: Factory method 'defaultValidator' threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/validator/internal/engine/DefaultClockProvider
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:579)
... 18 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/hibernate/validator/internal/engine/DefaultClockProvider
錯誤是因為引入了這個包造成的,這個包是干嘛的?
軟件包 javax.xml.validation 的描述 此包提供了用於 XML 文檔驗證的 API。Validation 是驗證XML 文檔是否為指定 XML schema 的實例的過程。XML模式定義了其實例文檔將表示的內容模型(也稱為 grammar 或 vocabulary),遷移springboot就是剔除所有的xml,所以xml都沒了,檢測xml造成錯誤了(自我理解哈)