スポンサーリンク
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 >>
スポンサーリンク