【问题标题】:After adding a Springboot JPA dependency, Maven can't build my JAR file any more添加 Spring Boot JPA 依赖后,Maven 无法再构建我的 JAR 文件
【发布时间】:2018-04-22 03:22:54
【问题描述】:

因此,在学习 Springboot 时,其中一件事就是使用 DB 和 Springboot Data JPA。添加简单依赖后(有无版本):

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
        <version>1.5.8.RELEASE</version>
    </dependency>   

并尝试使用 STS 的导出或“mvn clean install”/“mvn clean package”导出/构建 jar 文件,我得到以下信息: https://pastebin.com/5qDSGejT

如果项目刚刚使用 STS 或 Spring Initializr 创建,也会发生这种情况,我真的不知道从哪里开始找出问题所在。

【问题讨论】:

  • 您是否阅读了错误信息并遵循了它的建议?

标签: java spring maven jar spring-data-jpa


【解决方案1】:

无法确定数据库类型 NONE 的嵌入式数据库驱动程序类

数据库驱动程序丢失或损坏。

或者您根本没有设置到数据库的连接。

我建议您仔细检查您的数据库连接是否正确并进入您的 .m2 文件夹并删除您的 maven 存储库。

您可以使用位于 src/main/resources 中的 application.properties 轻松设置数据库连接。 Spring Boot 将负责其余的工作。

spring.datasource.url=jdbc:mysql://localhost:3306/DBNAME?useSSL=false
spring.datasource.username = user
spring.datasource.password = pass

【讨论】:

    【解决方案2】:

    在发布问题时与数据库有关,但这不是全部。昨天我得到了不同的堆栈跟踪。为了再次达到它,我为数据库添加了一个依赖项。第二个错误的一部分是:

    Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
    

    看来问题出在 Java 9(我昨天刚刚安装)和带有模块和 Jaxb 的新“事物”上。所以最后,解决方案在这里的另一个线程中,关于不包括 jaxb:

        <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>eclipselink</artifactId>
            <version>2.7.0</version>
        </dependency>
    

    这确实解决了问题,但这是一团糟的信息,它真的只是一个创可贴的解决方案。

    【讨论】:

      猜你喜欢
      • 2017-05-29
      • 2020-12-12
      • 1970-01-01
      • 1970-01-01
      • 2019-12-23
      • 2015-12-28
      • 2014-08-12
      • 2018-01-31
      • 1970-01-01
      相关资源
      最近更新 更多