私のマシンには、2つのバージョンのJavaがインストールされています。(1.6と1.7は私が手動でインストールしました)。 私は異なるプロジェクトのためにこの2つを必要としています。しかし、Mavenには1.7が必要です。現在、私のMavenは1.6のjavaバージョンを使用していますが、1.7を使用するようにMavenを設定するにはどうすればよいでしょうか?
MavenはJAVA_HOME
パラメータを使用して、実行することになっているJavaのバージョンを見つけます。あなたのコメントによると、設定でそれを変更することはできないようですね。
mvn
(non-windows)/mvn.bat
/mvn.cmd
(windows)に入って、そこでjavaのバージョンを明示的に設定することもできます。私の2つの意見を加えて、解決策を明示します。
私のWindowsマシンには、JDK 1.5
とJDK 1.6
という2つのJDKがインストールされています。
私のデフォルトの(そしてWindowsシステム環境変数に設定されている)JAVA_HOME
はJDK 1.5
に設定されています。
しかし、私は JDK 1.6
を使用してビルドする必要のある maven プロジェクト (すなわち、JBehave Tutorial's Etsy.com) を持っています。
このシナリオにおける私の解決策(これはうまくいきました!)は、@DanielBarbarian
が提案したように、mvn.bat
でそれを設定することです。
windowのバッチファイルに詳しくない人のために説明すると、基本的には、mvn.bat
の中の@REM ==== START VALIDATION ====
の後にset JAVA_HOME=<path_to_other_jdk>
の行を追加しただけです(つまり、%MAVEN_HOME%\bin\mvn.bat
)。
@REM ==== START VALIDATION ====
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45\jre
if not "%JAVA_HOME%" == "" goto OkJHome
**窓の上
システム変数の中のJAVA_HOME
変数を変更したくない場合。
mvn.batファイルを編集して、次のような行を追加してください。
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45\jre
これは、@Jonathanが言っているように、@REM ==== START VALIDATION ====
の後に行うことができます。
Mac (& Linux ?)の場合
もし、~/.bashrc
や ~/.bash_profile
の中の JAVA_HOME
変数を変更したくない場合は、次のようにします。
java_homeツール]1を使って、~/.mavenrc
ファイルを作成し、JAVA_HOME
を再定義することができます。
export JAVA_HOME=`/usr/libexec/java_home -v 1.7.0_45`
サニタリーチェック
以下のコマンドを実行することで、すべてが正常に動作していることを確認できます。jdkのバージョンが違うはずです。
mvn -version
すると
java -version