EclipseでJava1.6から1.7、Tomcat6.0->7.0に変更する(Mavenあり)

プロジェクト新規作成時にはjava1.6で作られるように設定されていました。
ただ、1.6はEOLになっているので1.7に変更します。
これに併せてTomcatのバージョンも6.0から7.0に変更します。

ちなみにEclipseはIndigoでMavenのプラグインはm2eです。

JRE1.7の確認

  • まずは、jdk1.7(もしくはjre1.7)がEclipseのInstalled JREsに登録されているか確認してください。

(設定->Java->Installed JREs)

  • ない場合、必要ならダウンロードした後に追加してください。

Tomcat7.0の確認

  • Tomcat7.0がEclipseのRuntimeに登録されているか確認してください。

(設定->Server->Runtime Environment)

  • ない場合、必要ならダウンロードした後に追加してください。

EclipseJRE指定の変更

  • プロジェクト右クリック->Properties(コンテキストメニューの一番下)で設定画面を開く
  • メニュー「Java Build Path」のLibrariesタブを開き、「Apache Tomcat v6.0」と「JRE System Library[JavaSE-1.6]」を選択して削除(Remove)。
  • 同じ画面でAdd Library..からServer Runtime->Apache Tomcat v7.0を選択
  • 同じ画面でAdd Library..からJRE System Libraryを選択し、Execution environmentから「JRE System Library[JavaSE-1.7]」を選択

※ Alternate JREから選んでもいいですし、Workspace default JREが1.7の場合はそれを選んでもいいです。

このままだと下記のようなエラーが出たので、これの対処をします。

Java compiler level does not match the version of the installed Java project facet.
  • プロジェクト右クリック->Properties(コンテキストメニューの一番下)で設定画面を開く
  • メニュー「Project Facets」を開く
  • JavaのVersionを1.7に変更する

 選択できない場合は、右側のRuntimesタブを開きTomcat v7.0だけにチェックを入れるように変更する。

Maven設定の変更

pom.xmlmaven-compiler-pluginの設定があると思うので、下記のように書き換えます。

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>

Maven設定の反映

Eclipse上で次のようなエラーが出ました

Project configuration is not up-to-date with pom.xml. Run Maven->Update Project or use Quick Fix.

プロジェクト右クリック->Maven->Update Project..をやります。
これをやると変えたくないところも変えられることがあるので、注意が必要です。
その辺は様子を見ながら調整してください。