概要
JdbcTemplateを使ってDAOクラスを実装するケースを例にして、build.gradleに依存関係を追加したのにインポートが追加されない場合の原因および解決策を記載する。
環境
Eclipse IDE:2021-06 (4.20.0)
事象
JdbcTemplateを使ってDAOクラスを実装する。
・・・
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
runtimeOnly 'com.h2database:h2'
implementation 'org.springframework.boot:spring-boot-devtools'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
・・・
package com.example.sample.dao
public class SampleDaoImpl implements SampleDao {
private final JdbcTemplate jdbcTemplate;
・・・
}
この状態だと、SampleDaoImpl.java
のソースビューに
JdbcTemplateを型解決できません
というエラーが表示される。
これは、build.gradle
の依存関係にJdbcTemplateのライブラリが定義されていないためである。
そこで、build.gradle
の依存関係にJdbcTemplateのライブラリ 'org.springframework.boot:spring-boot-starter-jdbc'
を追加する。
・・・
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
runtimeOnly 'com.h2database:h2'
implementation 'org.springframework.boot:spring-boot-devtools'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
}
・・・
ファイルを保存して、インポートの編成を実行する。
しかしながら、SampleDaoImpl.java
にJdbcTemplateのインポートが追加されない。
JdbcTemplateを型解決できません
というエラーが変わらず表示される。
原因
原因は、build.gradleを編集後、Eclipseに変更が反映されていないことだった。
解決策
解決策としては、build.gradleを編集後、gradleプロジェクトをリフレッシュする。
gradleプロジェクトをリフレッシュする方法は、パッケージエクスプローラーの右クリックメニューからGradle>Gradleプロジェクトのリフレッシュ
を実行する
F5キーでプロジェクトをリフレッシュしても解消しないので注意。