2016-06-05 1 views
2

..소켓 팩토리 'com.google.cloud.sql.mysql.SocketFactory;'을 (를) 만들 수 없습니다. 나는이 작업을 얻이 수없는 것

나는 구글 유연한 환경를 사용하여 내 2 세대 클라우드 SQL 데이터베이스에 연결하고자하고있다. 나는 현재이 예외 얻고있다 : 나는 구성하고 어떻게 이것은

[main] ERROR com.mahlzeit.server.BootstrappingServerConfig - Error trying to migrate SQL scripts .. 
org.flywaydb.core.api.FlywayException: Unable to obtain Jdbc connection from DataSource 
    at org.flywaydb.core.internal.util.jdbc.JdbcUtils.openConnection(JdbcUtils.java:56) 
    at org.flywaydb.core.Flyway.execute(Flyway.java:1385) 
    at org.flywaydb.core.Flyway.migrate(Flyway.java:1006) 
    ... 
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create socket factory 'com.google.cloud.sql.mysql.SocketFactory;' due to underlying exception: 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    ... 
Caused by: java.lang.ClassNotFoundException: com/google/cloud/sql/mysql/SocketFactory; 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at com.mysql.jdbc.MysqlIO.createSocketFactory(MysqlIO.java:3321) 
    ... 

을 내 DataSource : 그래서

<dependency> 
    <groupId>com.google.cloud.sql</groupId> 
    <artifactId>mysql-socket-factory</artifactId> 
    <version>1.0.0</version> 
</dependency> 

이유는 무엇입니까 : 나는 mysql-socket-factory 같은 의존성을 추가 한

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
    <property name="url" value="jdbc:mysql://google/mz_db?cloudSqlInstance=mz-test:us-central1:mz-life-cloudsql-prod&amp;socketFactory=com.google.cloud.sql.mysql.SocketFactory;" /> 
    <property name="username" value="root" /> 
    <property name="password" value="" /> 
</bean> 

이 예외?

+0

로컬 컴퓨터 또는 프로덕션 환경에서이 구성을 사용합니까? 프로덕션 환경에서 SQL 클라우드 연결에 유연한 env 문제가 있습니다. 귀하의 드라이버 클래스 이름은 무엇입니까? –

답변

2

끝에 세미콜론이있어서 com.google.cloud.sql.mysql.SocketFactory;이라는 클래스를로드하려고합니다. 끝에 세미콜론을 제거해보십시오.

+0

그래,'& '에'&'이슈가 있었고,';'을 제거했다. 이클립스는 내가'&'를 사용했을 때 제안했던 것이었다. "java.lang.IllegalAccessError : 클래스 sun.security.ssl.ClientHandshaker'의 sun.security.ssl.Handshaker.localSupportedSignAlgs 필드에 액세스하려고 시도하면"벨이 울리면 알려주세요 ^^ – displayname

관련 문제