山崎屋の技術メモ

IT業界で働く中でテクノロジーを愛するSIerのシステムエンジニア👨‍💻 | AndroidとWebアプリの二刀流🧙‍♂️ | コードの裏にあるストーリーを綴るブログ執筆者✍️ | 日々進化するデジタル世界で学び続ける探究者🚀 | #TechLover #CodeArtisan、気になること、メモしておきたいことを書いていきます。

Eclipse で Maven プロジェクトの作成から JDK バージョンの設定

前回は、コマンドラインでMavenプロジェクトを作成し、Eclipse にインポートする記事を書いた。

yyama1556.hateblo.jp

今回はより実践的に Eclipse を使用してMavenプロジェクトを作成してみる。

また、なぜか作成したプロジェクトの Java バージョンが 1.5 になるので、これを 1.8 に変更する手順も記載する。

Maven プロジェクトの作成

まず、パッケージエクスプローラの何もないところで右クリックし[ new ] → [ other ]を選択する。
New ダイアログが表示されるので、[ Maven Project ] を選択し、[ Next ]ボタン押下。

f:id:yyama1556:20170103105015p:plain

New Maven Project ダイアログが表示されるので、そのまま[ Next ]を押下。

f:id:yyama1556:20170103105359p:plain

前の画面で[ Create a simple project ]をチェックすると、Eclipse 関連のファイルと pom.xml ファイルだけが作成され、java ファイルは何も作成されない。

[ Create a simple project ]をチェックしないと、次のようにアーキタイプ(プロジェクトの雛形となるもの)を選択するダイアログが表示される。

f:id:yyama1556:20170103105845p:plain

ここでは、シンプルなコマンドラインプロジェクトである[ maven-archetype-quickstart ]を選択し、[ Next ]を押下する。

グループIDとアーティファクトIDを入力する画面が表示される。

f:id:yyama1556:20170103110120p:plain

ここではグループIDに[ org.yyama ]とし、アーティファクトIDに[ mvn1 ]と入力し[ Finish ]を押下する。

f:id:yyama1556:20170103110424p:plain

これでシンプルなプロジェクトが作成される。

f:id:yyama1556:20170103110840p:plain

実行すると[ Hello World! ]が表示されるシンプルなプロジェクトで、Junit のテストも用意されている。

Java バージョンの変更

先ほどの図を見ていただくとわかるように[ JRE System Library ]が J2SE-1.5 になっており、いまどきこのバージョンで開発することはありえない。これを 1.8 に変更するには pom.xml ファイルを修正する必要がある。

編集前の pom.xml ファイルの内容は次のとおり。

<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.yyama</groupId>
  <artifactId>mvn1</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>mvn1</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

やり方は 2 通りあり、どちらでもかまわない。

properties タグ内にバージョンを追記する方法

編集前の properties タグを抜粋すると次のようになっている。

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

これに[ maven.compiler.source ]タグと[ maven.compiler.target ]タグを追記して、次のようにする。

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

pom.xml をセーブし、パッケージエクスプローラでプロジェクトを右クリックし、[ Maven ]→[ Update Project... ]を選択する( Alt+F5 でもOK )と、Update Maven Project ダイアログが表示されるので、OK ボタンを押下する。

f:id:yyama1556:20170103112759p:plain

すると[ JRE System Library ]が JavaSE-1.8 に変更されていることが確認できる。

f:id:yyama1556:20170103113008p:plain

Java 11 を使う場合は小数点なしの「11」を指定する。

maven-compiler-plugin のバージョンを明記する方法

次の記述を閉じタグ</dependencies>の直下( 閉じタグ</project>の直前 )に追記する。

   <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.6.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
   </plugins>
  </build>

pom.xml をセーブした後、前述した Maven プロジェクトの update を実施すると、やはり Java のバージョンが 1.8 に変更される。

どちらの記述にするか?

好みによるだろうが、私は記述量が少ないほうが良いと思っているので一つ目のやり方をとっている。


今日はここまで、でわっ。

Apache Maven 3クックブック Javaソフトウェア開発のための特選レシピ集

Apache Maven 3クックブック Javaソフトウェア開発のための特選レシピ集

Maven3のはじめかた

Maven3のはじめかた

マスタリング Maven Java開発の容易性を実現する次世代のビルド/構成管理ツール

マスタリング Maven Java開発の容易性を実現する次世代のビルド/構成管理ツール