■Mavenの利用
デフォルトの 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
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>Hello</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
今回は「businessCalendar4j」の利用を試す
これは、日本やアメリカの休祝日、または営業日を求めることができるライブラリ
dependencies のブロックを追加し、以下のように指定する
<?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
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>Hello</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>one.cafebabe</groupId>
<artifactId>businessCalendar4j</artifactId>
<version>1.21</version>
</dependency>
</dependencies>
</project>
新しいライブラリを追加すると、画面右上に「Mavenの変更を読み込む Ctrl+Shift+O」ボタンが表示される
クリックすると指定したライブラリが読み込まれ、依存解決が行われる
※dependencyの内容入力には保管機能が働く
これはメニューバーの「ファイル → 設定 → ビルド、実行、デプロイ → ビルドツール → Maven → リポジトリ」で
「
https://repo.maven.apache.org/maven2/」を選択して「アップデート」を押すことで、最新の状態に更新できる
(この処理は数分から数十分かかる)
以下のプログラムで、休日を一覧表示できる
package org.example;
import one.cafebabe.bc4j.BusinessCalendar;
import static one.cafebabe.bc4j.BusinessCalendar.JAPAN;
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
BusinessCalendar.newBuilder().holiday(JAPAN.PUBLIC_HOLIDAYS).build().getHolidaysBetween(
LocalDate.of(2022, 1, 1),
LocalDate.of(2022, 12, 31)
).forEach(System.out::println);
}
}
正常に実行できれば、以下のように2022年の祝日一覧が表示される
Holiday{date=2022-01-01, name='元日'}
Holiday{date=2022-01-10, name='成人の日'}
Holiday{date=2022-02-11, name='建国記念の日'}
Holiday{date=2022-02-23, name='天皇誕生日'}
Holiday{date=2022-03-21, name='春分の日'}
Holiday{date=2022-04-29, name='昭和の日'}
Holiday{date=2022-05-03, name='憲法記念日'}
Holiday{date=2022-05-04, name='みどりの日'}
Holiday{date=2022-05-05, name='こどもの日'}
Holiday{date=2022-07-18, name='海の日'}
Holiday{date=2022-08-11, name='山の日'}
Holiday{date=2022-09-19, name='敬老の日'}
Holiday{date=2022-09-23, name='秋分の日'}
Holiday{date=2022-10-10, name='スポーツの日'}
Holiday{date=2022-11-03, name='文化の日'}
Holiday{date=2022-11-23, name='勤労感謝の日'}