【问题标题】:Connecting to Mysql using Jhipster使用 Jhipster 连接到 Mysql
【发布时间】:2018-04-24 01:05:36
【问题描述】:

我已经生成了一个 spring boot + angular 应用程序。使用 jdl 导入实体。与 h2 正常工作。我是新手,想使用 mysql。我在 application-dev.yml 中配置了数据源,代码如下。

datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:mysql://localhost:3306/blogdb?useUnicode=true&characterEncoding=utf8&useSSL=false
    username: name
    password:pass
h2:
    console:
        enabled: false
     hikari:
            data-source-properties:
                cachePrepStmts: true
                prepStmtCacheSize: 250
                prepStmtCacheSqlLimit: 2048
                useServerPrepStmts: true
    jpa:
        database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
    database: mysql
    show-sql: true

2) 我已使用以下代码将我的 pom 配置从 h2 更新为 mysql。

<plugin>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-maven-plugin</artifactId>
            <version>${liquibase.version}</version>
            <configuration>
                <changeLogFile>src/main/resources/config/liquibase/master.xml</changeLogFile>
                <diffChangeLogFile>src/main/resources/config/liquibase/changelog/${maven.build.timestamp}_changelog.xml</diffChangeLogFile>
                <driver>com.mysql.jdbc.Driver</driver>
                <url>jdbc:mysql://localhost:3306/blogdb</url>
                <defaultSchemaName>blogdb</defaultSchemaName>
                <username>name</username>
                <password>**</password>
                <referenceUrl>hibernate:spring:pt.farol.destfinder.domain?dialect=org.hibernate.dialect.MySQLInnoDBDialect&amp;hibernate.ejb.naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy</referenceUrl>
                <verbose>true</verbose>
                <logging>debug</logging>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.javassist</groupId>
                    <artifactId>javassist</artifactId>
                    <version>${javassist.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.liquibase.ext</groupId>
                    <artifactId>liquibase-hibernate5</artifactId>
                    <version>${liquibase-hibernate5.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-data-jpa</artifactId>
                    <version>${project.parent.version}</version>
                </dependency>
                <dependency>
                    <groupId>javax.validation</groupId>
                    <artifactId>validation-api</artifactId>
                    <version>${validation-api.version}</version>
                </dependency>
            </dependencies>
        </plugin>

问题当我运行我的项目时出现以下错误。

    The Class-Path manifest attribute in C:\..\..\.m2\repository\org\liquibase\liquibase-core\3.5.3\liquibase-core-3.5.3.jar referenced one or more files that do not exist: C:\..\.\.m2\repository\org\liquibase\liquibase-core\3.5.3\lib\snakeyaml-1.13.jar
22:58:49.740 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Included patterns for restart : []
22:58:49.751 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Excluded patterns for restart : [/spring-boot-starter/target/classes/, /spring-boot-autoconfigure/target/classes/, /spring-boot-starter-[\w-]+/, /spring-boot/target/classes/, /spring-boot-actuator/target/classes/, /spring-boot-devtools/target/classes/]
22:58:49.751 [main] DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - Matching URLs for reloading : [file:/G:/Java%20Projects/target/classes/]
22:58:52.636 [restartedMain] DEBUG org.springframework.boot.logging.ClasspathLoggingApplicationListener - Application failed to start with classpath: [file:/G:/Java%20Projects/target/classes/]

编辑 git repository link

yo-rc.json 文件

{
  "generator-jhipster": {
    "promptValues": {
      "packageName": "com.beam"
    },
    "jhipsterVersion": "4.10.2",
    "baseName": "beam",
    "packageName": "com.beam",
    "packageFolder": "com/beam",
    "serverPort": "8080",
    "authenticationType": "session",
    "hibernateCache": "ehcache",
    "clusteredHttpSession": false,
    "websocket": false,
    "databaseType": "sql",
    "devDatabaseType": "mysql",
    "prodDatabaseType": "mysql",
    "searchEngine": false,
    "messageBroker": false,
    "serviceDiscoveryType": false,
    "buildTool": "maven",
    "enableSocialSignIn": false,
    "enableSwaggerCodegen": false,
    "rememberMeKey": "801a22f60c33f866035c634e04c3b5b096fdedc6",
    "clientFramework": "angularX",
    "useSass": true,
    "clientPackageManager": "yarn",
    "applicationType": "monolith",
    "testFrameworks": [],
    "jhiPrefix": "jhi",
    "enableTranslation": false
  }
}

【问题讨论】:

  • 您的 .m2 文件夹似乎已损坏,您可以尝试删除它并重新运行 mvnw
  • 但是当我使用 h2 配置而不是 mysql 时,它可以正常工作。让我再试一次
  • 命令 -> mvnw "应用程序启动失败" .
  • 还有什么技巧吗?
  • maven build with force update -u

标签: spring maven spring-boot jhipster liquibase


【解决方案1】:

这不是答案,但我需要比 cmets 更多的空间。

我已经使用您的 .yo-rc.json 文件和 jhipster 4.10.2 生成了一个应用程序,它工作正常。我也有 Class-Path 清单警告,但它是无害的,并且应用程序可以正常工作。

[INFO] --- spring-boot-maven-plugin:1.5.7.RELEASE:run (default-cli) @ beam ---
[INFO] Attaching agents: []
The Class-Path manifest attribute in C:\Users\Gaël\.m2\repository\org\liquibase\liquibase-core\3.5.3\liquibase-core-3.5.3.jar referenced one or more files tha
t do not exist: C:\Users\Gaël\.m2\repository\org\liquibase\liquibase-core\3.5.3\lib\snakeyaml-1.13.jar
22:15:34.613 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Included patterns for restart : []
22:15:34.617 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Excluded patterns for restart : [/spring-boot-starter/target/classes/,

2017-11-13 22:15:57.237  INFO 20472 --- [  restartedMain] com.beam.BeamApp                         :
----------------------------------------------------------
        Application 'beam' is running! Access URLs:
        Local:          http://localhost:8180
        External:       http://172.27.112.1:8180
        Profile(s):     [swagger, dev]
----------------------------------------------------------

所以,我猜你没有粘贴真正的错误。 究竟是什么症状?

【讨论】:

  • 所以我应该重新安装 maven 吗? PS:我粘贴了日志中显示的错误。与您的日志相同,但我的应用程序无法启动:)
【解决方案2】:

尝试新建一个jhipster应用,在创建的时候选择Mysql。这需要几分钟,您可以检查和比较。

【讨论】:

  • 我已经生成了新项目,但在开始时仍然面临同样的问题。
【解决方案3】:

通常在 application-dev.yml 中的间距在密码中被认为是这样的

你的, 数据源: 类型:com.zaxxer.hikari.HikariDataSource 网址:jdbc:mysql://localhost:3306/blogdb?useUnicode=true&characterEncoding=utf8&useSSL=false 用户名:姓名 密码:通过 要做的是,

数据源: 类型:com.zaxxer.hikari.HikariDataSource 网址:jdbc:mysql://localhost:3306/blogdb?useUnicode=true&characterEncoding=utf8&useSSL=false 用户名:姓名 密码:通过

去看看

【讨论】:

【解决方案4】:

当我尝试使用 Mysql 安装 JHipster 项目时,我遇到了同样的问题,当我更改时我的问题得到了解决

datasource:
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:mysql://localhost:3306/blogdb?useUnicode=true&characterEncoding=utf8&useSSL=false
username: name
password:pass

datasource:
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:mysql://localhost:3306/blogdb /*Removed the parameters*/
username: name
password:pass

【讨论】:

    【解决方案5】:

    如果你使用 docker 我也有同样的错误,所以将 localhost 替换为你的 docker IP

    type: com.zaxxer.hikari.HikariDataSource
            url: jdbc:mysql://192.168.99.100:3306/library
            username: root
    

    【讨论】:

    • 也许更多细节? -- 我来自review,没有同样的问题。
    猜你喜欢
    • 2020-12-21
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 2023-03-27
    • 2015-09-05
    • 2018-03-29
    • 2015-02-15
    相关资源
    最近更新 更多