8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

EclipseにおけるMavenを使ったシンプルプロジェクトの作成と実行

Last updated at Posted at 2022-03-25

はじめに

こんばんわ、きりです。
本記事はNablarchを使ってみようのサブ記事として作成しております。

今回はよりMavenを利用したプロジェクト作成について整理します。
本記事ではMavenの説明とシンプルプロジェクトの作成を行います。

本記事以外のコンテンツはこちらから閲覧可能です。

なるべく、初心者目線で作成するつもりですが、分かりづらい部分ありましたら、コメント頂きたいです。

動作環境

種類 バージョン
OS Windows Professional 20H2
Eclipse 2022 Full Edition

※Eclipseのダウンロードについては、こちらの記事をご確認ください。

Mavenとは

Mavenとは、プロジェクト管理ツールと公式サイトでは言っております(comprehension toolとも言っています)が、以下のような機能をもったツールと考えるとわかりやすいかと思います。

  • 用意された様々なテンプレートからプロジェクトを作成できる
  • サードパーティのライブラリをダウンロードして利用できる
  • jarやwarファイルを作成できる
  • それ以外にも、テストやインストール、デプロイなどができる
  • 上記の設定をpom.xmlというテキストファイルで管理できる

と書いたもののやはり使ってみないとピンと来ませんよね

類似ツールにAntやGradleといったものがありますが、Mavenがデファクトスタンダードとなっているようです。
時系列としては、Ant→Maven→Gradleかと思っているので、将来的にGradleのシェアが増える可能性はあります。

本来はMavenのツール群を公式サイトよりダウンロードして使用するのですが、今回のように「Pleiades All in One」を利用する場合は、EclipseにMavenが含まれているためダウンロードは不要のようです。
※コンソールなどからmvnコマンドを使用する場合は別途ダウンロードが必要

EclipseのProxy設定

proxyとは会社などで、各社員端末からのインターネット通信などを仲介する仕組み(詳細は割愛)で、
OSやブラウザで設定しないとブラウザでのサイト閲覧ができなくなります。
Proxy環境で以下の設定を行わないと、プロジェクト作成時にずっと待機中になるようです。

ご自宅などのプライベート環境では基本はProxyの設定は不要ですので、以下は読み飛ばしてください。

EclipseではデフォルトでOSのProxy設定を利用するみたいなので(設定ダイアログ>一般>ネットワーク接続より確認)、
設定は不要のようです。

image.png

MavenのProxy設定

ユーザー設定にProxy設定を追加します。
一般的にはmavenのユーザー設定ファイルは「ユーザーフォルダ/.m2/settings.xml」に作成するのですが、
今回のように、「Pleiades All in One」を利用している場合は、配置したフォルダ外に設定ファイルを起きたくなかったので、
下図の場所にファイルを新規作成しました。
参照できればどこでも良いと思うので、任意場所に作成しパスを指定してください。

image.png

ファイルの中身については、新規作成の場合は、以下の内容をコピーして、環境に応じて「host」や「port」の値を変更してください。

settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
  <proxies>
    <proxy>
      <id>http_proxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.example.net</host>
      <port>8080</port>
    </proxy>
    <proxy>
      <id>https_proxy</id>
      <active>true</active>
      <protocol>https</protocol>
      <host>proxy.example.net</host>
      <port>8080</port>
    </proxy>
  </proxies>
</settings>

Mavenを使ったシンプルプロジェクトの作成

メニュー>ファイル>新規>Mavneプロジェクトを選択
image.png

新規Mavneプロジェクトダイアログで次へボタンをクリック
image.png

サーバー(Maven Central)よりアーキタイプ(テンプレプロジェクト)の一覧がダウンロードされます。
※初回だと数分かかる可能性あり
ダウンロード後は一覧にアーキタイプが表示されるので、フィルターに「maven-archetype-quickstart」と入力し、
グループIdが「org.apach.maven.archetypes」となっているものを選択し、次へボタンをクリックする。

image.png

最後に、グループId、アーティファクトId、バージョン、パッケージを指定して、完了ボタンをクリックします。
今回は以下の画像の通りにします。

|キー
グループId com.example
アーティファクトId helloworld
バージョン 0.0.1-SNAPSHOT
パッケージ com.example.helloworld

image.png

以下のようなフォルダ/ファイル構成が作られればプロジェクト作成完了です。
image.png

この状態で一度実行してみます。

image.png

成功です。

対象Javaバージョンの変更

pom.xml(プロジェクトルート/pom.xml)ファイルを開いてみます。

image.png

sourceは互換性を待たせるJavaバージョン(1.7はJava7相当)、targetは実行環境のJavaバージョン(1.7はJava7相当)となります。
即ち、Java7で実行するようにビルドしてねという設定になっており、プロジェクト作成時にEclipseが作成するプロジェクトの設定にも、1.7を使用するように設定されてしまうようです。

そのため、実行時にJava7で実行されたわけです。

プロジェクトのJavaバージョンを変更する

以下のプロジェクト設定を変更します。

  • JREの設定
  • コンパイラーの設定

JREの設定

プロジェクト名を右クリック>プロパティー よりプロパティーダイアログを表示し、Javaのビルド・パスを選択します。
JREシステムライブラリー[JavaSE-1.7]を選択し、除去ボタン をクリックします。

image.png

続いて、ライブラリーの追加ボタンをクリックし、

image.png

ライブラリーの追加ダイアログで、JREシステムライブラリーを選択し、次へボタンをクリックします。

image.png

Java17が選択されていることを確認して、完了ボタンをクリックします。
※Java17以外を指定する場合は、実行環境のラジオボタンに切り替え、対象のバージョンを指定します。

image.png

コンパイラーの設定

プロジェクトのプロパティダイアログにて、Javaコンパイラーを選択し、コンパイラー準拠レベルを17に切り替えます。

image.png

適用時、確認ダイアログで「はい」ボタンをクリックする。

image.png

プロジェクトのフォルダ/ファイル構成について

パッケージ・エクスプローラをプロジェクト・エクスプローラに切り替え、フォルダ/ファイル構成について確認してみます。

image.png

  • .settingsフォルダ,.classpath,.project
    Eclipseによって生成されたフォルダ/ファイルたちです。しばらくは、直接編集することはないと思うので割愛します。

  • src/mainフォルダ内の深い階層のフォルダ
    こちらはプロジェクト作成時に指定したパッケージ名とアーティファクトIDからMavenによって生成されたものです。./main/java以下は、パッケージ名とアーティファクトIDを連結し「.」をフォルダ区切りに階層が作られていることがわかります。
    App.javaはテンプレートから取得したjavaファイルです。

  • src/testフォルダ内の深い階層のフォルダ
    ま階層ルールはsrc/main配下とほぼ同じです。
    こちらはJUnitのテストを実施時に利用されます。

  • target
    プロジェクトのビルドを行うとその成果物がこちらのフォルダに作成されます。
    今回の場合はApp.classというファイルとAppTest.classというファイルが生成されるはずです。

  • pom.xml
    Mavenプロジェクトの管理情報が記載れています。
    こちらについては必要に応じて説明していきたいと思います。

image.png

最後に

本記事ではEclipseにおけるMavenのシンプルプロジェクトの作成とMavenで作成した場合のフォルダ/ファイル構成について整理しました。

実用性を考えると、Jarファイルを作成して利用することが多く(もしくは必須?)なるかと思いますので、
次回は、Jarファイルの作成について整理しようと思います。

本記事以外のコンテンツはこちらを御覧ください。

参考URL

Proxy環境下でのEclipse+Maven

8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?