2016-07-16 48 views
1

我想在發展模式中使用MySQL 3.4.2 JHipster。 我使用生成器生成了應用程序,並安裝了docker和docker-compose。當啓動docker-compose -f src/main/docker/mysql.yml up./mvnw運行應用程序,我得到堆棧跟蹤:JHipster MySQL的開發

com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: Communications link failure 

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:528) 
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:118) 
    at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:94) 
    at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:388) 
    at eu.biasion.nbmf.config.liquibase.AsyncSpringLiquibase.initDb(AsyncSpringLiquibase.java:66) 
    at eu.biasion.nbmf.config.liquibase.AsyncSpringLiquibase.lambda$afterPropertiesSet$0(AsyncSpringLiquibase.java:49) 
    at eu.biasion.nbmf.async.ExceptionHandlingAsyncTaskExecutor.lambda$createWrappedRunnable$17(ExceptionHandlingAsyncTaskExecutor.java:47) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

我沒有找到關於指導在開發模式上使用MySQL時Jhipster。我非常感謝任何建議。

回答

4

如果你想使用多克的MySQL的容器與MVN項目在本地運行,你需要改變的src /主/資源/配置/應用dev.yml在碼頭工人的IP而不是localhost來點。這可讓您繼續使用實時重新加載和BrowserSync。

的屬性更改爲spring.datasource.url。就我而言,多克爾運行在192.168.99.100所以應用dev.yml的更新部分應如下所示:

spring: 
    devtools: 
     restart: 
      enabled: true 
     livereload: 
      enabled: false # we use gulp + BrowserSync for livereload 
    datasource: 
     url: jdbc:mysql://192.168.99.100:3306/chat?useUnicode=true&characterEncoding=utf8&useSSL=false 
0

我是新來Jhipster和碼頭工人也是如此。我使用MySql作爲數據庫,並使用docker-compose在Docker容器中運行應用程序。繼在頁面here

使用創建應用程序的碼頭工人形象的步驟進行:./mvnw package -Pprod docker:build

在這裏,你可以改變督促輪廓,如果需要到dev。

然後啓動應用程序包括MySQL使用命令:docker-compose -f src/main/docker/app.yml up

看起來你正在嘗試只運行在泊塢窗mysql服務,但要在主機上運行的應用程序?

+0

謝謝,我也是新來Jhipster和碼頭工人!其實我想在主機上運行應用程序。你解釋的工作方式。這只是我花了一些時間來認識到,應用程序是在http://192.168.99.100:8080而不是http://127.0.0.1:8080訪問,印在控制檯:) – Interfaced

+0

是否有使用的一大優勢碼頭人作爲單一開發人員參與開發? 在我看來,重建Angular的每一個變化,缺少實時重載和瀏覽器同步,會降低開發過程。你知道在Docker中運行mysql和主機上的應用程序時,上面發佈的問題是什麼? – Interfaced

+1

對於單個開發人員,我想用碼頭工人在發展給我)完全一樣的環境中生產ii)您沒有安裝開發環境 - 而不是你可以只使用jhipster泊塢窗圖像III)可以很容易地解決多個版本的語言(如果你不得不在不同的應用程序中使用不同版本的Java語言)。在這種情況下,您只需使用相應的java版本docker映像。順便說一句,如果你認爲我的答案對你有幫助,你能否將我的答案標記爲已接受?這將有助於我在SO上的聲譽。我是Stackoverflow的新手。謝謝! – meDev