スポンサーリンク
Java SE 7 を対象に実装したプログラムをEclipse+Mavenでビルドしようとしたらこんなエラーが出たので、対策をメモ。
スポンサーリンク
エラー
エラー: ダイヤモンド演算子は-source 1.5でサポートされていません
原因
Eclipseを使ってMavenプロジェクトにConvertした際に、「.classpath」ふぁいるの記述が変更されてしまっていたようです。
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
まずこれを元に戻してあげることで、Eclipseの文法エラー表示が解決しました。
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_11"/>
しかし、これでもMavenでのビルドを実行すると、同じエラーが出ます。
この「-source 1.5」というのはコンパイラのオプションのことを指しているので、Mavenの「maven-compiler-plugin」の設定を変更する必要があるようです。
<project> [...] <build> [...] <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <source>1.4</source> <target>1.4</target> </configuration> </plugin> </plugins> [...] </build> [...] </project>
(Maven Compiler plugin - Setting the -source and -target of the Java Compiler)
pom.xmlに、この要素を追加することで、ビルドできるようになりました。
おまけ
このpom.xmlで親子関係を飛ばしてしまうと、こんなエラーが出るようです。
Malformed POM X:\.....\pom.xml: Unrecognised tag: 'plugins'
今回は「build」タグを飛ばしてしまい、予想外の「plugins」が来た、というエラーでした。
また、忘れてしまったばあいはこんなエラーが出ます。
'build.plugins.plugin.artifactId' is missing. @ line 15, column 13
こちらは分かりやすいですね。
スポンサーリンク
コメント(0)
新しいコメントを投稿
|HOME|
『EclipseのMavenプラグイン(m2e)が実際に実行しているmvnコマンドを表示する方法メモ』 OLD >>
スポンサーリンク