81
86

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 5 years have passed since last update.

MavenをEclipseで使いたい初学者のトラブル例

Last updated at Posted at 2014-06-16

はじめに(経緯)

「せんせー、Mavenがなんかうまく動きません」

というわけで、初学者向けにまとめておく。

プロジェクトと動作環境のJDK Versionの不一致

mvn packagemvn jetty:run でプロジェクトのパッケージ化や動作をさせようとする際に、次のようなエラーが発生する。

Fatal error compiling: invalid target release: x.x
Fatal error compiling: 1.8は無効なターゲット・リリースです
Unsupported major.minor version XX.X

こうしたときは、Mavenが、maven-compiler-pluginで指定されたプロジェクトのJDKのバージョンよりも古いバージョンのJavaで動作している。

原因の一例

Mac OSXであれば、Appleから提供されるJDKとOracleから提供されるJDK(やOpenJDK)が混在している環境で、適切にJAVA_HOMEを指定できていないなど。

Windowsであれば、必要なバージョンのJDKがインストールされていなかったり、環境設定のJAVA_HOMEが古いJDKを指定しているなど。

チェック方法

$ java -version
  # JavaのVersionが表示される
$ mvn -version
  # 表示されるJava versionもしくはJava homeの値が、
  # プロジェクトで想定しているバージョンと一致しているかを確認する

回復手順の一例

maven-compiler-pluginに対応するバージョンのJDKをインストールする。
インストールされている状態であれば、シェルにJAVA_HOMEのパスを適切に設定する。

Mac OSXであれば.bash_profileなどに以下の様に設定。

$ vim ~/.bash_profile
  # JDK8を利用する場合
  export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
$ mvn -version
  # 表示されるJava versionもしくはJava homeの値が、
  # プロジェクトで想定しているバージョンと一致しているかを確認する

Windowsであれば、環境設定からJAVA_HOMEを対応するバージョンのJDKに指定しなおす。

参考

Major.minor unsupported version 51.0 Java MAC OSX

Fatal error compiling: invalid target release: x.x

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project xxx: Fatal error compiling: invalid target release: 1.8 -> [Help 1]

日本語の場合

maven-resources-plugin:2.5に起因するMavenプロジェクト作成/インポートのトラブル

IDE(Eclipse)でmavenプロジェクトを作成/インポートしようとすると、上記のPlug-inが起因となったエラーのダイアログが発生し、Javaプロジェクトとして構築されない。

原因の一例

mavenでダウンロードしたプラグインのキャッシュ等に問題がある(と思われる)。

回復手順の一例

  • ネットワーク接続が正常に行える環境かを確認する。
  • .m2/repository ディレクトリを削除し、mavenプロジェクトの作成/インポートを再実行する。
$ cd ~/.m2
$ rm -R repository

参考

Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of its dependencies could not be resolved

プロキシ環境下でのトラブル

  • BYODしてるノートPCなどで、家では実行できたmvnコマンドがプロキシ環境下では実行できない(orその逆)
  • IDEのProxyは外したのにMavenリポジトリに接続できない

原因の一例

Eclipseなどの一部のIDEでは、MavenのProxy設定を ${HOME}/.m2/settings.xml に任せている1ので、環境にあわせて編集する必要がある。

回復手順の一例

Proxy環境下で動作しない場合は、Proxy設定が行われているか確認する。

Proxy環境外で動作しない場合は、Proxy設定を外しているかを確認する。具体的には、Proxy設定の中のactive要素の値をfalseに変更すれば、Proxy設定が外れる。

<settings>
  <proxies>
    <proxy>
      <active>false</active>
<!--以下略-->

Proxy環境下に戻ったときは、設定も戻しておくことを忘れないように。

おわりに

今後も新たに掲載できるものが増えていけば更新する。


  1. デフォルト設定の場合。変更している場合は適宜ファイルパスを読み替える。
81
86
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
81
86

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?