2017-03-28 116 views
0

我試圖在添加Spring Jars 3.2.5.RELEASE後運行一個簡單的應用程序,我的Eclipse是3.8.3.RELEASE,我得到這個錯誤:IllegalAccessError在maven簡單項目中的springApplication

Exception in thread "main" java.lang.IllegalAccessError: tried to access method org.springframework.core.io.support.SpringFactoriesLoader.loadFactoryNames(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/List; from class org.springframework.boot.SpringApplication 
at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:402) 
at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:394) 
at org.springframework.boot.SpringApplication.initialize(SpringApplication.java:261) 
at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:237) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) 
at Main.main(Main.java:8) 

我的主:

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 

@SpringBootApplication 
public class Main { 

    public static void main(String[] args) { 
     SpringApplication.run(Main.class, args); 

    } 

} 

我的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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>io.javabrains.springbootquickstart</groupId> 
    <artifactId>course-api</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>TrySpring</name> 

<parent> 

    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.4.2.RELEASE</version> 

</parent> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
</dependencies> 

<properties> 
    <java.version>1.8</java.version> 
</properties> 


</project> 

我也試過使用STS,但我得到了同樣的錯誤。

回答

0

爲什麼在最新版本的spring boot中使用這樣一箇舊版本的Spring?我會懷疑這個問題是一個類路徑碰撞,其中3.2.5版本正在被引用,而不是適用於較新的spring引導應用程序的適當的4.x.x jar。

當你像你一樣使用起動器的時候,所有需要的罐子(實際上是一大堆剩餘的)被包括在內供你使用,你不應該在你的路徑中特別包含任何彈簧罐。

+0

我認爲罐子是必要的,因爲我在一些視頻中看到它,但是我刪除了它們,結果很奏效。 謝謝。 –

相關問題