読者です 読者をやめる 読者になる 読者になる

Java EE 7アプリケーション開発のスタートアップ

前日のエントリで予告しておいたJava EE 7アプリケーション開発のプロジェクトひな形ですが、「結合テストとワンクリックデプロイがすぐに使えるJava EE 7開発のためのbuild.gradle」としてQiitaに投稿したので、そちらをご覧ください。

こういうベースになるビルドスクリプトがあると便利、というのは、 id:nekop さんのJava EE / ArquillianのMaven最小設定の影響をかなり受けています。

Eclipseでの開発環境

おまけで、Java EE 7での開発をEclipseで行うための環境構築についての雑多な記録です*1

インストール

  • 利用するEclipseJava EEアプリを開発するので「Eclipse IDE for Java EE Developers」を選びましょう。
  • バージョンはJava8に対応しているEclipse 4.4 Luna以上を選びましょう。
  • インストールしておくとよいプラグイン
    • JBoss Tools: EclipseWildflyを使うならほぼ必須でしょう。
    • Gradle IDE: Gradle Viewを使って、EclipseからGradleタスクを簡単に実行できるようになります。

プロジェクトの設定

プロパティの「Project Facets」で構成をカスタマイズしておきます。

設定されているバージョンはどれもJava EE 6頃のものなので、最新のものに変更します*2

f:id:jappy:20140928040509p:plain

この時、JSFのバージョンを初期値の2.0から2.2(や2.1)に変更しようとするとエラーになり、Eclipse上から変更できませんでした。そこで、(強引な手段ですが)直接プロジェクトの .settings/org.eclipse.wst.common.project.facet.core.xml を編集して対応しました。

before:

   <installed facet="jst.jsf" version="2.0"/>

after:

   <installed facet="jst.jsf" version="2.2"/>

不具合

ところで、少し前までは Eclipse 4.4.0 を使っていたのですが、JSF2.2に対応した最新のWTP(Web Tools Platform)3.5を使うために最新の4.4.1にアップデートしたところ、Gradle IDEプラグインがうまく動かなくなりました(Gradle ViewでGradleプロジェクトが読み込めずエラーになります)。

f:id:jappy:20140928041505p:plain

ちょうどこの記事を書いている前日に不具合報告が上がってました。一緒にGradle IDEプラグインもアップデートした際に問題になったので、修正されるまでは少し前のバージョンを使ったほうがいいかもしれません。

10/1追記 上記URLにいくつかワークアラウンドが上がっていますが、そのうちの1つとして紹介されているGradle (Wrapper)のバージョンを2.1からNightly Build版の2.2-20140930220016+0000に変更する策を試したところ、エラーが解消されました。非安定版ではありますが、今回は検証目的なので、このバージョンで確認を進めていきます。

参考サイト

参考サイトの例だと、アプリはMavenでビルドして、デプロイやWildflyの起動・停止は「Servers」ビューから行うようになっています。

Gradle版では「Gradle」ビューからGradleタスクとしてデプロイやWildflyの起動・停止を行うことができるので「Servers」にWildflyを追加する設定はなくてもよいかもしれません。

*1:正直なところ、EclipseJava EE 7を開発するのはパワー不足も感じるので、NetBeansIntelliJ IDEAの方が良いかなぁと思っていますが…。

*2:キャプチャ上の設定内容は多分穴があります。。