#背景
いつもSpring(Eclipse)で開発していて、外部ライブラリーを使う時は訳も分からずに
Javaのビルド・パス画面で外部jarの追加をして、使えるようになった~ってやってました。
最近Javaで色々書いてるうちに、あれ?もしやその作業は
プログラムが依存するライブラリを指定するのにpom.xmlに追記するってことなのね
と薄々分かってきました。
じゃあもう外部jarの追加から卒業しようって思ったんだけど
あれ?ダウンロードしたjarだけじゃ **<groupId>
**が わかんないじゃんというわけで
調べた内容を書き残します。
依存するライブラリを指定するには、
pom.xmlの**<dependencies>
タグ内に<dependency>
**タグを追加します。こんな感じで
ちなみにこれは、前回のSFTPでRaspberry Piのデータを取得するで使用したjschの記載です。
<dependencies>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.54</version>
</dependency>
</dependencies>
**<dependency>
タグの中には<groupId>``<artifactId>``<version>
**の3つの要素があります。
これらを正しく指定することで依存関係を認識してくれるんですね。
#groupId, artifactId, version に指定する値の調べ方
じゃあその要素どうやって書けばいいの~?適当に書いたってダメですよね。
Maven のデフォルトリポジトリは こちら だそうです。
groupId や artifactId に指定する値は、この中に入っています。
じゃあ早速jschを探してみます。com.jcraft・・・と、 あ!本当だ。ありました。
でも、ものすごい数あるリポジトリから自分の使いたいライブラリーが
どこに入ってるかなんて探し出すの大変すぎ・・・
・・・と思っていたら素敵なページを見つけましたー!
**The Central Repository**さんです。リポジトリの検索エンジンです。
早速、jschを検索してみます。おー!出ました。そしてダウンロードページまで備えています素敵~
#ライブラリーをpom.xmlに追記する
例としてこのConnectDBというプロジェクトで使用したpostgresqlというライブラリーでやってみます。
sample.javaには、ポスグレに繋いでデータを追加する。って内容のコードを書いています。
それに必要なライブラリーなのですが、例によってワタシは jarの追加 でこのライブラリーを追加しました。
ビルドパスから除外します。
先ほどのThe Central Repositoryさんでpostgresqlを検索します。
おー!ありました。Latest(最新)に42.2.4がありましたー!
では、groupId、artifactId、versionをpom.xmlに追記します。
<!-- postgresql_adding_at_self_ -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.4</version>
</dependency>
よーし、これで実行してみます。良かったー。ちゃんと実行できました。
#あとがき
最近、ぼんやりした点がぼんやりした線になってきたような感覚があります…
設定ファイルって、色々膨大に謎の文字が羅列されてる得体の知れないモノ(苦手意識の塊)って
思ってたのですが、Javaに限らず設定ファイルって便利だなーってやっと実感できるようになりました。
ワタシのような漠然と設定ファイルに苦手意識をお持ちの方の参考になれば幸いです。