Kseigo_KS
@Kseigo_KS (Kondo Seigo)

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!

【SpringBoot】Mavenの依存関係を追加インポートできない

解決したいこと

SpringBootのアプリケーションで依存関係を追加したい

springbootにて美容院の簡単な予約管理システムの作成をしています。
spring-boot-starter-mailの依存関係を追加したくpom.xmlに記載しましたが、
下記のようなメッセージが発生し、取り込めない状態です。
解決方法をご教授願います。

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

依存関係'org.springframework.boot:spring-boot-starter-mail:3.1.1'が見つかりません

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.1.1</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.reserve</groupId>
	<artifactId>reserve</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>reserve</name>
	<description>Beauty salon reservation management system</description>
	<properties>
		<java.version>17</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
			<version>3.1.1</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
</project>

自分で試したこと

SpringBoot公式サイトにて依存関係のグループID・アーティファクトID・バージョンを確認。
特に理由がない限りバージョンの指定はしなくてよいと書いてあったので、バージョンの指定はしておりません。
初歩的な部分かと思いますが、ご教授お願いいたします。

0

1Answer

解決策の提示になっていないのは、申し訳ないですが、
少し確認してみました。そのうえで、試していただきたいことを共有いたします。

共有いただいているpom.xmlのうち、SpringBootのバージョン・Javaのバージョン・依存関係、の部分をお借りして、
私自身のプロジェクトに貼り付けましたが、特に依存関係のエラーは出ませんでしたね。。。
(私はIntelliJではなくEclipseとなりますが。。)

spring-boot-starter-mailについて、3.1.1はありますね、

ただ、SpringBootのReleaseに3.1.1がないのは気になります。。。

  • 試していただきたいこと
    • Mavenプロジェクトを更新(リフレッシュ)をかける
    • pom.xmlのSpirngBootのバージョン部分の記述を最新の3.1.2またはひとつ前の3.0.9に更新してみる
0Like

Comments

  1. @Kseigo_KS

    Questioner

    pom.xmlのSpirngBootのバージョン部分の記述を最新の3.1.2の最新バージョンにしてリフレッシュしたところ、正常に追加することができました。ありがとうございます。
    やはり最新バージョンで環境を整備することが重要なのでしょうか、、
    また、今回のeno49conan様のコメント内の「ただ、SpringBootのReleaseに3.1.1がないのは気になります。。。」ということについてですが、送っていただいたリンクを参照したところ、3.11を見つけることができました。
    スクリーンショット 2023-08-08 21.25.58.png
    そもそも理解不足で申し訳ないのですが、依存関係を追加する際はReleaseを見た方が良いのでしょうか。
    いまいち関係性が理解できていないです。。
    ご教授いただけると嬉しいです。

  2. 解決したのあればよかったです。

    実は、どういった流れで3.1.1を使用されていたのか、気になっています。
    私がSpringBootのプロジェクト作成するとき、以下サイトでプロジェクトを作成して、IDE側でインポートすることが多めです。この中に3.1.1は無かったので、気になっていました。

    Eclipse上でもSpringBootのプロジェクト作成機能がありますが、こちらにも3.1.1はありませんでした。IntelliJはちょっとわからないですが。。。


    送っていただいたリンクを参照したところ、3.11を見つけることができました。

    失礼しました。。。3.0.9の下までは確認してませんでした。

    やはり最新バージョンで環境を整備することが重要なのでしょうか。

    SpringBootに関して、バージョン2から3それなりに変更点がありました。
    アップデートするような場合は、色々修正作業が発生する可能性もあるので、何とも言えません。

    ですが、これから新規で何かを作成されるのであれば、新しい方がよいかと思います。

    依存関係を追加する際はReleaseを見た方が良いのでしょうか。

    mavenのサイトの方は、どのバージョンがどれくらい使用されているか知る目的で確認しますが、
    Releaseを見る必要はないと思います。(あまり使われてない→使い勝手がよくない?別のものを使用している?といった疑問が浮かぶため)

    これで回答になってますでしょうか。

  3. @Kseigo_KS

    Questioner

    ご回答ありがとうございます。
    ご丁寧にありがとうございます。大変勉強になります。
    今後は基本的に最新バージョンで使用するようにしたいと思います。

    私自身今回、springinitializrを使用しIDE側でインポートしております。
    なぜ古いバージョンで作成されたか不明ですが(作成する際に古いバージョンを指定していたかもですが、、)
    自覚がないままコードを記述しておりました。

    Releaseを確認する理由についても理解ができました。本当にありがとうございます。

Your answer might help someone💌