无法解析类或包'h2'

Jan*_*ski 5 java spring h2 maven spring-boot

我为我的网络应用程序预制了后端.在我的项目(SpringBoot + Maven)中,我想添加h2日期库.根据网站的教程:

  1. 添加到application.properties

     server.port = 8088
     spring.h2.console.enabled=true
     spring.h2.console.path=/h2
     spring.datasource.url=jdbc:h2:mem:testdb
     spring.datasource.username=sa
     spring.datasource.password=
     spring.datasource.driverClassName=org.h2.Driver    //h2 seems to be NOT found
     spring.jpa.show-sql=true
    
    Run Code Online (Sandbox Code Playgroud)
  2. 添加了对pom.xml的依赖项

     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-data-jpa</artifactId>
     </dependency>
     <dependency>
         <groupId>com.h2database</groupId>
         <artifactId>h2</artifactId>
     </dependency>
    
    Run Code Online (Sandbox Code Playgroud)

问题:

application.properties中:"无法解析类或包'h2'"

全面检查: "检查Spring Boot应用程序.properties配置文件.突出显示未解析和弃用的配置键和无效值.仅适用于Spring Boot 1.2或更高版本."

当然,我的Spring Boot高于1.2(1.5.8).我在网上发现了类似的问题,但"重新编码依赖"不起作用,所以我仍然没有解决方案:).请帮忙.

Mik*_*ski 1

看起来问题出在你的 pom 文件中的某个地方。请找到我与您的application.properties文件检查过的 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.mberazouski.stackoverflow</groupId>
    <artifactId>spring-boot-hibernate</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>spring-boot-hibernate</name>
    <description>Demo project for Spring Boot And Hibernate</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
        <relativePath/>
    </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-data-jpa</artifactId>
        </dependency>

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

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

一旦 Spring Boot 启动,请检查 h2-console: http://localhost:8088/h2

在此输入图像描述

希望这会有所帮助。PS 如果您不知道,我建议您使用http://start.spring.io/来生成您的项目。在那里您可以选择您计划使用的任何组件。有关更多信息,您可以阅读此处的示例。