Java

Mavenでコンパイル時のJDKバージョンを指定する方法

投稿日:2013/09/04 更新日:

久々にMavenを使う機会がありjar:jarを実行したら、コンパイルエラーが出力されてjarファイルが生成できませんでした。
コンパイルしているマシンがJava7で、どうもJava7で文字コード関連のパッケージが非推奨になったようで1.6系でコンパイルする必要があるみたい。まぁ、このソースコード自体1.5時代のものだしね・・・。

というわけで、Mavenのコンパイル時のJDKバージョンを指定する方法を探したら、プラグインが見つかったので設定方法。

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<verbose>true</verbose>
					<fork>true</fork>
					<executable>javacへのパス</executable>
					<compilerVersion>1.6</compilerVersion>
				</configuration>
			</plugin>

executableタグにはjavacのフルパスを指定してください。
以下のページに詳細情報が記載されています。余談ですが、今回は一時的な対応だったのでpom.xmlにjavacへのパスを直接記述しましたが、settings.xmlに記述するのよさそうです。
Compiling Sources Using A Different JDK

これで、無事に1.6でコンパイルできてjarファイルを作成することが出来ました。

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

Maven2でwarを実行すると2回目がエラーになる

Mavenでwar:warを実行してWARファイルを作成することがあると思います。 1回目はうまくいくのですが、続けて実行すると失敗してしまいました。 試しに、target以下の作成されたWARファイ …

Spring MVCでビューにApache Tilesを使う

Spring MVCはデフォルトのビューはJSPみたいですね。 JSPでも問題ないのですが、せっかくなのでTilesを使ってみたいと思います。 僕の印象ではTilesは、それ自体がテンプレートシステム …

Spockを使いたいからEclipseからIntelliJ IDEAへ移行した話

Javaを書くときはずーとEclipseを使っていましたが最近IntelliJ IDEAへ移行しました。 確かEclipse2のときから使っていたので10年以上は使っていたと思います。 Eclipse …

SpringMVCを使ってみることにしました。

Tomcat3時代のころからJavaでウェブアプリケーションを使っておりますが、フレームワークはあんまり使ったことがありません。 業界標準?だったStruts1も試しに使ってみてxml書くのと存在意味 …

JUnitのアサーションにAssertJを使う

Junit3時代はassertEqualsでアサーションしてJunit4になると当初はhamcrestでアサーションしておりましたが最近はAssertJを使っております。 AssertJはFluent …