Gen_00_
@Gen_00_

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Eclipseでjarファイルを生成したい

解決したいこと

Eclipseで作成したプロジェクトのjarファイルを生成したいです。

発生している問題・エラー

Eclipseでプロジェクトの実行 -> Maven build -> ゴールにpackageを設定して実行したら以下のエラーが発生します。
出ているエラーが長いんで抜粋して記述します。

[ERROR] [1;31mTests [0;1mrun: [0;1m1[m, Failures: 0, [1;31mErrors: [0;1;31m1[m, Skipped: 0, Time elapsed: 4.019 s[1;31m <<< FAILURE![m -- in com.example.oldfashioned.[1mOldfashionedApplicationTests[m
[ERROR] com.example.oldfashioned.OldfashionedApplicationTests.contextLoads -- Time elapsed: 0.019 s <<< ERROR!```

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception with message: Failed to determine a suitable driver class

またSpringBootを実行したときに以下のエラーが発生します

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 
 	Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)']
	Database driver: undefined/unknown
	Database version: 8.0
	Autocommit mode: undefined/unknown
	Isolation level: undefined/unknown
	Minimum pool size: undefined/unknown
	Maximum pool size: undefined/unknown

該当するソースコード

依存関係は以下の通りです。

pom.xml
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.0.33</version>
    <scope>runtime</scope>
</dependency>
properties.properties
spring.datasource.url=${DB_URL}
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.connection-timeout=20000
spring.datasource.hikari.maximum-pool-size=10
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.idle-timeout=30000
spring.datasource.auto-configure=true
spring.datasource.hikari.poolName=HikariPool-1
spring.datasource.type=com.zaxxer.hikari.HikariDataSource

spring.sql.init.encoding=utf-8
spring.sql.init.mode=always
spring.jpa.open-in-view=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.datasource.hikari.max-lifetime=1800000
spring.servlet.multipart.max-file-size=20MB

自分で試したこと

mysqlのバージョンに関して適していることは確認しました。

0

1Answer

properties.propertiesに、com.zaxxer.hikari.HikariDataSourceを記載されています。ただし、pom.xmlにそのjarを記載していないことは問題になるでしょうと思います。また、HikariPool-1のjarも記載すべきかと思います。

com.zaxxer.hikari.HikariDataSourceを調べてみたら、HikariPoolのjarに含まれているみたいです。そして、zaxxerのHikariPoolのjarを探すことになります。

恐らく以下のリンクにどちらのバージョンをpom.xmlに追記する必要でしょう。
https://repo1.maven.org/maven2/com/zaxxer/HikariCP/

0Like

Your answer might help someone💌