2017-09-26 76 views
0

我是Spring的新手。我在使用Spring 1.5.7執行示例示例時遇到了ClassNotFoundException:Spring應用程序。我搜索瞭解決方案並添加了spring引導maven build plugin.But仍然沒有解決問題。請幫忙。在運行Spring Boot應用程序時發生ClassNotFoundException

<?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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.example</groupId> 
    <artifactId>demo</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>demo</name> 
    <description>Demo project for Spring Boot</description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.5.7.RELEASE</version> 
     <relativePath/> <!-- lookup parent from repository --> 
    </parent> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <java.version>1.8</java.version> 
    </properties> 

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

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

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 


</project> 

下面是我的主類

package com.example.demo; 

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

@SpringBootApplication 
public class DemoApplication { 

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

我收到以下異常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication 
    at com.example.demo.DemoApplication.main(DemoApplication.java:10) 
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 1 more 
+2

請提供更多樣的代碼片段,完整的堆棧跟蹤信息,以便更好地理解您的問題 – spuente

+0

相同的代碼與1.5.6 – Gundamaiah

回答

2

從頭開始創建不論構建工具(Maven的,gradle這個,等..)彈簧啓動項目的最佳方法是使用https://start.spring.io/搜索自己喜歡的依賴關係(網頁,執行器等)和生成該項目。解壓縮下載的項目,並在您的案例中鍵入相應的命令mvn spring-boot:run

+0

我使用STS的工作,創造了使用Spring啓動項目 – Gundamaiah

+1

項目你嘗試運行'MVN春天-boot:從命令行運行?如果是的話,你可以嘗試清除你的本地Maven倉庫(windows:c:\ users \ \ .m2 mac:〜\ .m2),然後重新運行它?看看你的maven命令是否會導致它是否下載任何依賴關係,或者它是否在下載時引發任何錯誤。 – shanmugaprabhu

+0

清理完本地回購​​後,它正在運行。多謝,夥計。 – Gundamaiah

1

這在我看來,相關的依賴不會從Maven的回購下載。 嘗試下面的命令,並檢查包是否編譯好吧!

./mvnw clean package 
相關問題