schedule2019-04-02

VSCodeのMaven環境でJarライブラリを追加する | Java

VSCodeでJava + Mavenのプロジェクトをデバッグするに続いてMavenの環境にJARを追加したので、メモ。

どうやって追加するか悩んだが、pom.xmlにライブラリを記述したら勝手に導入してくれました! Jarファイルをダウンロードしてパスを書くような作業もありませんでした。

環境

  • Visual Studio Code 1.32.3
  • Windows10 Home
  • Java Development Kit 1.8
  • 拡張機能:Java Extension Pack
  • Apache Maven 3.6.0

VSCodeの環境構築は以下を参照してください。

pom.xmlにライブラリを追加する

追加するJARはOkHttpです。 これはOkioと依存関係があるため、Okioも必要です。

最新バージョンは以下の通り。

ここにある通り、Mavenの<dependency>をpom.xmlに追加します。

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>

省略

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
+   <dependency>
+     <groupId>com.squareup.okhttp3</groupId>
+     <artifactId>okhttp</artifactId>
+     <version>3.14.0</version>
+   </dependency>
  </dependencies>

(設定に因るかもしれませんが、)pom.xmlに追加して保存すると、「依存関係を更新するか?」みたいなメッセージがでます。 「Now」を選択するとJARをダウンロードして、左メニューのJAVA DEPENDENCIESMaven Dependenciesに置かれます。

add-jar

Okioもダウンロードされており、依存関係も解消されていました。

「依存関係を更新するか?」みたいなメッセージで、「Always」を選択するとpom.xmlの更新が逐次反映されます。

okioも更新してみる

Okioのバージョンが古かったので、pom.xmlにバージョンを書いてみます。

pom.xml

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.squareup.okhttp3</groupId>
      <artifactId>okhttp</artifactId>
      <version>3.14.0</version>
    </dependency>
+   <dependency>
+     <groupId>com.squareup.okio</groupId>
+     <artifactId>okio</artifactId>
+     <version>2.2.2</version>
+   </dependency>
  </dependencies>

自動で更新処理が走り、Okioのバージョンも更新されました。

okio

(何故かkotlinなども入ってる。。。)

おわりに

以前書いた記事が古くなっていたので、バージョンを更新するため試行錯誤してました。 結果、VSCodeでJavaの開発もかなり良いことがわかりました。