学習の一環として、eclipse2019.4.14、Java1.8、SpringBoot(2.0.4.RELEASE)、MySQL5.7による開発を行っております。
サーバーはAWSのEC2(OSはAmazonLinux2)を使用しています。
データベースはAWSの学習も兼ねてRDSを使います。
最終的にはデータベースも利用した動的webページをweb上に公開したいと思っています。
EC2とRDSの設定も終わったので試しにRDSにあるデータベースに接続するspringアプリケーションを
Maven installを使いjarファイル化してEC2にデプロイしようと思いました。
しかし、Maven installを実行するとcom.mysql.cj.jdbc.exceptions.CommunicationsExceptionエラーが起きてしまいjarファイルにすることができなくなってしまいました。
どうすればこのエラーを解決してjarファイルにすることができるでしょうか。
考えられる原因
ローカルで用意したデータベースには下記のパスで接続成功しました。
spring.datasource.url=localhost:3306/sampledb?serverTimezone=JST
この状態でのjarファイル化にも成功しました。
パスをRDSのエンドポイントに指定すればRDSのデータベースに接続できると考えました。
(sampledbはローカル、RDSの両方に作成済みです。)
spring.datasource.url=RDSのエンドポイント:3306/sampledb?serverTimezone=JST
しかし、Maven install実行時にローカルで起動テストを行うため、RDSに接続できずにJDBC接続エラーが検出され停止したものと思われます。
しかし、パスをRDSに指定した状態でSpringBootアプリケーションで実行したところ、データベースに接続はできないものの、起動には成功しhttp://localhost:8080でページを表示できたのでJDBC接続エラーだけが停止した原因ではないかもしれません。
エラー内容
一部のみ抜粋 ・ ・ ・ com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure ・ ・ ・ [INFO] Results: [INFO] [ERROR] Errors: [ERROR] UserDaoTest.countTest1 » CannotCreateTransaction Could not open JDBC Connectio... [ERROR] UserDaoTest.countTest2 » CannotCreateTransaction Could not open JDBC Connectio... [INFO] [ERROR] Tests run: 5, Failures: 0, Errors: 2, Skipped: 0 [INFO] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:43 min [INFO] Finished at: 2020-07-07T10:36:56+09:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.21.0:test (default-test) on project SpringSample: There are test failures. [ERROR] [ERROR] Please refer to C:\Users\kurodatatsuki\Desktop\testWorkSpace3\SpringSample2\target\surefire-reports for the individual test results. [ERROR] Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream. [ERROR] -> [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/MojoFailureException
試したこと
テスト起動時にもローカルからRDSに接続できればJDBC接続エラーは解消できると思い
下記の記事を参考にEclipseからRDSに接続しようとしました。
https://ts0818.hatenablog.com/entry/2018/02/12/210253
しかし、リモートシステムからローカルを選択して新規接続するところで、ローカルが表示されず進むことができませんでした。
こちらのエラーは別で質問しているので原因がわかる方がいましたら回答していただけると幸いです。
https://teratail.com/questions/275478
回答1件
あなたの回答
tips
プレビュー