Memo

メモ > 技術 > プログラミング言語: Java > Mavenの利用

■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='勤労感謝の日'}

Advertisement