2017-01-25 14 views
0

При добавлении поля к Сущности в JHipster, последний шаг (при использовании MySQL) работаетJHipster - Запуск LiquiBase: Diff не удается из-за "Доступ запрещен"

./mvnw компилировать LiquiBase: Diff

в соответствии с Документами на https://jhipster.github.io/development/

Однако, это не работает для меня довольно просто установить, потому что процесс не использует правильный пользователь MySQL и передать. Мое приложение отлично работает в профиле dev, но не так.

С какого рода Liquibase получает свои полномочия?

Ниже вы можете увидеть результаты.

[INFO] artifact: file:/Users/wouter/.m2/repository/org/glassfish/javax.el/3.0.0/javax.el-3.0.0.jar 
[INFO] artifact: file:/Users/wouter/.m2/repository/org/springframework/boot/spring-boot-devtools/1.4.2.RELEASE/spring-boot-devtools-1.4.2.RELEASE.jar 
[INFO] artifact: file:/Users/wouter/Business/Workspace/imi-publishing-cloud/target/classes/ 
[INFO] artifact: file:/Users/wouter/Business/Workspace/imi-publishing-cloud/target/test-classes/ 
[INFO] ------------------------------------------------------------------------ 
[INFO] Settings 
---------------------------- 
[INFO]  driver: com.mysql.jdbc.Driver 
[INFO]  url: jdbc:mysql://localhost:3306/imicloud 
[INFO]  username: root 
[INFO]  password: ***** 
[INFO]  use empty password: false 
[INFO]  properties file: null 
[INFO]  properties file will override? false 
[INFO]  prompt on non-local database? true 
[INFO]  clear checksums? false 
[INFO]  changeLogFile: src/main/resources/config/liquibase/master.xml 
[INFO]  context(s): null 
[INFO]  label(s): null 
[INFO]  referenceDriver: null 
[INFO]  referenceUrl: hibernate:spring:be.storefront.imicloud.domain?dialect=org.hibernate.dialect.MySQL5InnoDBDialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy 
[INFO]  referenceUsername: null 
[INFO]  referencePassword: null 
[INFO]  referenceDefaultSchema: null 
[INFO]  diffChangeLogFile: src/main/resources/config/liquibase/changelog/20170125143850_changelog.xml 
[INFO] ------------------------------------------------------------------------ 
Wed Jan 25 15:38:57 CET 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 7.129 s 
[INFO] Finished at: 2017-01-25T15:38:58+01:00 
[INFO] Final Memory: 63M/787M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.liquibase:liquibase-maven-plugin:3.5.3:diff (default-cli) on project imicloud: Error setting up or running Liquibase: liquibase.exception.DatabaseException: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO) -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

Сначала отображаются правильные настройки. Мой DB называется «imicloud», но потом ошибка:

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO) 

Очевидно, я использую пароль для MySQL.

Как это исправить?

Наверное, я пропустил необходимый шаг настройки, так как это первый раз, когда я использую команду liquibase:diff.

ответ

4

Учетные данные, используемые командами mvn liquibase, находятся у вас в pom.xml, в теге конфигурации плагина Liquibase. Часть pom.xml выглядит следующим образом:

 <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/ng2</url> 
       <defaultSchemaName>ng2</defaultSchemaName> 
       <username>root</username> 
       <password></password> 
       <referenceUrl>hibernate:spring:com.mycompany.myapp.domain?dialect=org.hibernate.dialect.MySQL5InnoDBDialect&amp;hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&amp;hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy</referenceUrl> 
       <verbose>true</verbose> 
       <logging>debug</logging> 
      </configuration> 
      ... 
+0

Работал отлично! – Wouter

0

Настройте свойства Spring загрузочными соответственно в вашем Src/основной/ресурсы/конфигурации/APPLICATION- .yml или APPLICATION- .properties файлы

Добавить конец с ваш URL-адрес вашей базы данных.

url: jdbc:mysql://localhost:3306/imicloud?u‌​seSSL=false