2017-04-08 52 views
0

我的應用程序有這個。它還沒有休眠或jpa的東西。我只加在庫中的pom.xml:一個非常簡單的應用程序的春季啓動例外

@SpringBootApplication 
    @ComponentScan("com.ma.vegshopping") 
    public class VegShoppingApplication { 

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

的pom.xml:

  <?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.ma</groupId> 
       <artifactId>VegShopping</artifactId> 
       <version>0.0.1-SNAPSHOT</version> 
       <packaging>jar</packaging> 

       <name>VegShopping</name> 
       <description>vegetable shopping list</description> 

       <parent> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-parent</artifactId> 
        <version>1.5.2.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-actuator</artifactId> 
        </dependency> 
        <dependency> 
         <groupId>org.springframework.boot</groupId> 
         <artifactId>spring-boot-starter-data-jpa</artifactId> 
        </dependency> 
        <dependency> 
         <groupId>org.springframework.boot</groupId> 
         <artifactId>spring-boot-starter-security</artifactId> 
        </dependency> 
        <dependency> 
         <groupId>org.springframework.boot</groupId> 
         <artifactId>spring-boot-starter-social-facebook</artifactId> 
        </dependency> 
        <dependency> 
         <groupId>org.springframework.boot</groupId> 
         <artifactId>spring-boot-starter-web</artifactId> 
        </dependency> 

        <dependency> 
         <groupId>mysql</groupId> 
         <artifactId>mysql-connector-java</artifactId> 
         <scope>runtime</scope> 
        </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> 

當嘗試啓動應用程序,我得到以下異常:

ationConfigEmbeddedWebApplicationContext:過程中遇到異常上下文初始化 - 取消刷新嘗試:org.springframework.beans.factory.UnsatisfiedDependencyException:使用名稱'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfigur創建bean時出錯ation':通過構造函數參數0表示的不滿意依賴;嵌套異常是org.springframework.beans.factory.BeanCreationException:在類路徑資源[org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration $ Tomcat.class]中定義名稱爲'dataSource'的Bean時出錯:通過工廠方法實現的Bean失敗;嵌套異常是org.springframework.beans.BeanInstantiationException:無法實例化[org.apache.tomcat.jdbc.pool.DataSource]:工廠方法'dataSource'拋出異常;嵌套異常是org.springframework.boot.autoconfigure.jdbc.DataSourceProperties $ DataSourceBeanCreationException:無法確定數據庫類型爲NONE的嵌入式數據庫驅動程序類。如果你想要一個嵌入式數據庫,請在類路徑中放一個支持的數據庫。如果您要從特定配置文件加載數據庫設置,則可能需要激活它(沒有配置文件當前處於活動狀態)。

+0

那麼,如果你不想擁有JPA,不要將spring-boot-starter-data-jpa添加到你的依賴關係中。正如例外情況所示,添加它會激活自動配置查找數據源,因爲在使用JPA時,您需要一個數據源。 –

回答

1

當你把JPA hibernate的jar包帶入classpath。當Hibernate在類路徑中可用時Spring Boot AutoConfiguration被挑選用於創建EntityManager。

這是Spring引導的默認行爲。 由於您沒有任何Hibernate數據源,因此啓動失敗。

嘗試通過在application.properties/yml文件中提供屬性來創建數據源。 如果你不想使用休眠或jpa然後從你的pom.xml中刪除jpa starter

相關問題