RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 879767
Accepted
Roberto
Roberto
Asked:2020-09-11 00:51:11 +0000 UTC2020-09-11 00:51:11 +0000 UTC 2020-09-11 00:51:11 +0000 UTC

尝试在 spring-boot 应用程序中从内存数据库切换到外部数据库时出错

  • 772

我正在使用 web 和 jpa 模块创建一个 spring-boot 应用程序。

我有 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>myApp</groupId>
    <artifactId>myApp</artifactId>
    <version>1.0</version>
    <packaging>war</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.4.RELEASE</version>
    </parent>

    <properties>
        <java.version>1.8</java.version>
        <spring.boot.version>2.0.4.RELEASE</spring.boot.version>
    </properties>

    <dependencies>
        <!--Spring-boot dependencies-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>${spring.boot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>${spring.boot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>${spring.boot.version}</version>
            <scope>test</scope>
        </dependency>
        <!--deploy on remote tomcat-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.7.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.7.0</version>
        </dependency>
        <!-- DATABASE-->

        <!--In-memory database-->
       <dependency>
           <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
            <version>10.14.2.0</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

    <build>
        <finalName>myAppFileName</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

该应用程序内置在战争中并且可以正常启动。使用内存基础德比

我需要切换到外部数据库,例如mySql,我去掉了对derby的依赖:

     <dependency>
       <groupId>org.apache.derby</groupId>
        <artifactId>derby</artifactId>
        <version>10.14.2.0</version>
        <scope>runtime</scope>
    </dependency>

我添加依赖

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>provided</scope>
        </dependency>

更改 application.propeties

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mydb
spring.datasource.username=user
spring.datasource.password=111111
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

数据库是在应用程序启动时创建的,但没有表。

但是当我启动应用程序时出现错误:

****************************** 应用程序无法启动


描述:

无法配置数据源:未指定“url”属性,并且无法配置嵌入式数据源。

原因:无法确定合适的驱动程序类

行动:

考虑以下几点:如果您想要一个嵌入式数据库(H2、HSQL 或 Derby),请将其放在类路径中。如果您有要从特定配置文件加载的数据库设置,您可能需要激活它(当前没有配置文件处于活动状态)。

2018 年 9 月 10 日 19:43:00.935 严重 [RMI TCP 连接(5)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild:开始:
org.apache.catalina.LifecycleException:无法在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 在 org.apache 启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]] .catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java :734) 在 org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1736) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:第498章.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 在 org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:482) 在 org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:431) 在sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method。在 org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java: 调用(Method.java:498)300) 在 com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 在 javax.management.remote.rmi.RMIConnectionImpl 的 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) .doOperation(RMIConnectionImpl.java:1468) 在 javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) 在 javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)在 javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect。在 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:361) 在 sun.rmi.transport 的 java.lang.reflect.Method.invoke(Method.java:498) 的 DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) .Transport$1.run(Transport.java:200) at sun.rmi.transport.Transport$1.run(Transport.java:197) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport .serviceCall(Transport.java:196) 在 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) 在sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler 的 java.security.AccessController.doPrivileged(Native Method)。在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread 的 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 运行(TCPTransport.java:682) .run(Thread.java:748)

mvn 依赖:分析

[INFO] --- maven-dependency-plugin:3.0.2:analyze (default-cli) @ SBRiskDataSvcs ---
[WARNING] Used undeclared dependencies found:
[WARNING]    org.springframework.data:spring-data-commons:jar:2.0.9.RELEASE:compile
[WARNING]    org.springframework.boot:spring-boot:jar:2.0.4.RELEASE:compile
[WARNING]    io.springfox:springfox-spi:jar:2.7.0:compile
[WARNING]    org.springframework:spring-context:jar:5.0.8.RELEASE:compile
[WARNING]    io.springfox:springfox-core:jar:2.7.0:compile
[WARNING]    org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.2.Final:compile
[WARNING]    org.springframework:spring-web:jar:5.0.8.RELEASE:compile
[WARNING]    org.springframework:spring-beans:jar:5.0.8.RELEASE:compile
[WARNING]    org.springframework.data:spring-data-jpa:jar:2.0.9.RELEASE:compile
[WARNING]    io.springfox:springfox-spring-web:jar:2.7.0:compile
[WARNING]    org.springframework.boot:spring-boot-autoconfigure:jar:2.0.4.RELEASE:compile
[WARNING] Unused declared dependencies found:
[WARNING]    org.springframework.boot:spring-boot-starter-web:jar:2.0.4.RELEASE:compile
[WARNING]    org.springframework.boot:spring-boot-starter-data-jpa:jar:2.0.4.RELEASE:compile
[WARNING]    org.springframework.boot:spring-boot-starter-test:jar:2.0.4.RELEASE:test
[WARNING]    org.springframework.boot:spring-boot-starter-tomcat:jar:2.0.4.RELEASE:provided
[WARNING]    io.springfox:springfox-swagger-ui:jar:2.7.0:compile
[WARNING]    mysql:mysql-connector-java:jar:5.1.46:runtime
spring-boot
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    aleshka-batman
    2020-09-11T01:00:26Z2020-09-11T01:00:26Z
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>provided</scope>
        </dependency>
    

    更改为运行时。

    提供 -> 仅在编译时可用。在运行时(即将发生的热量)没有这种依赖关系。

    • 1

相关问题

  • 如何将授权用户重定向到springboot安全中的自定义URL?

  • 3rd 方 Spring Boot 库中的 Messages.properties 编码

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    是否可以在 C++ 中继承类 <---> 结构?

    • 2 个回答
  • Marko Smith

    这种神经网络架构适合文本分类吗?

    • 1 个回答
  • Marko Smith

    为什么分配的工作方式不同?

    • 3 个回答
  • Marko Smith

    控制台中的光标坐标

    • 1 个回答
  • Marko Smith

    如何在 C++ 中删除类的实例?

    • 4 个回答
  • Marko Smith

    点是否属于线段的问题

    • 2 个回答
  • Marko Smith

    json结构错误

    • 1 个回答
  • Marko Smith

    ServiceWorker 中的“获取”事件

    • 1 个回答
  • Marko Smith

    c ++控制台应用程序exe文件[重复]

    • 1 个回答
  • Marko Smith

    按多列从sql表中选择

    • 1 个回答
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Suvitruf - Andrei Apanasik 什么是空? 2020-08-21 01:48:09 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5