【问题标题】:Cannot resolve class or package 'h2'无法解析类或包“h2”
【发布时间】:2018-11-26 03:49:18
【问题描述】:

我为我的网络应用程序开发后端应用程序。 在我的项目(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
    
  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>
    

问题:

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

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

当然,我的 Spring Boot 高于 1.2 (1.5.8)。 我在网络上发现了类似的问题,但是“重新加载依赖项”不起作用,所以我仍然没有解决方案:)。请帮忙。

【问题讨论】:

标签: java spring maven spring-boot h2


【解决方案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>

一旦你启动了 spring boot,检查 h2-console: http://localhost:8088/h2

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

【讨论】:

    猜你喜欢
    • 2019-01-14
    • 2015-11-22
    • 2012-12-06
    • 2022-08-20
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 2013-12-14
    相关资源
    最近更新 更多