[Java] GlassFish 4 beta and Maven Embedded Plugin

原文はこちら。
https://blogs.oracle.com/brunoborges/entry/glassfish_4_beta_and_maven

お披露目前にJava EE 7を試す簡単な方法を探してらっしゃるのではないでしょうか。現在JSRがFinalになっているもの(JMS、Batch、JSONなど)は特にそうでしょう。ArunがすでにJava EE 7プロジェクトをMavenとともに使う件についてご紹介していますが、Mojo projectがCodehausで提供しているarchetypeからは一つ重要なものが抜けています。そう、Maven Plugin for GlassFish Embeddedです。
JMS 2, Bean Validation 1.1, JBatch, JSON-P Go Final!
https://blogs.oracle.com/theaquarium/entry/jms_2_bean_validation_1
Java EE 7 Maven Archetype - Available in NetBeans (TOTD #201)
https://blogs.oracle.com/arungupta/entry/java_ee_7_maven_archetype
Maven Embedded GlassFish Plugin
http://embedded-glassfish.java.net/nonav/plugindocs/3.1/plugin-info.html
GlassFish Embedded
http://embedded-glassfish.java.net/
このプラグインはすばらしい理由は、開発者はGlassFishをローカルにダウンロード、インストール、構成しなくてよい、という点です。やるべきことは、JDKとMavenをインストールするだけです。それから、ちゃんと動くものならどんなIDEでも選択できます(今はNetBeansで動かしていますが、Sublime Text 2も大好きです)。簡単な3ステップのコマンドでOKです。
  1. $ git clone http://myrepo/myproject
  2. $ cd myproject
  3. $ mvn embedded-glassfish:run
    ... ローカルリポジトリにダウンロードが完了するまで待ちましょう...
終わりました!MavenとJDK(あ、この場合はGitもですね)以外のインストールに依存しない、シンプルなプロジェクトです。それではEmbeddedプラグインを使う場合のpom.xmlの設定方法をご紹介しましょう。
  1. Arunがブログで書いていたように、Codehaus archetypeベースのプロジェクトを作成します。ブラウザの履歴のため、ここにコマンドラインをコピーしています(訳注:表現上改行を入れていますが、実際には1行でお願いします)。
    mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes 
        -DarchetypeArtifactId=webapp-javaee7
        -DarchetypeVersion=0.3-SNAPSHOT 
        -DarchetypeRepository=https://nexus.codehaus.org/content/repositories/snapshots/
        -DgroupId=org.glassfish
        -DartifactId=javaee7-sample 
        -Dversion=1.0-SNAPSHOT
        -Dpackage=org.glassfish.javaee7-sample 
        -Darchetype.interactive=false
        --batch-mode --update-snapshots archetype:generate
  2. pom.xmlを開き、<plugins>セクションの最後に移動します。
  3. 以下のpluginを<build><plugins>セクションに追記します。
  4. 
           org.glassfish.embedded
             maven-embedded-glassfish-plugin
             3.1.2.2
             
                target/${project.artifactId}-${project.version}
                8282
                ${project.artifactId}
             
             
               
               org.glassfish.main
               simple-glassfish-api
               4.0-b79
             
             
               org.glassfish.main.extras
               glassfish-embedded-all
               4.0-b83
             
           
         
    
  5. (2013年4月13日に更新)以下のpluginRepositoryの設定をPOMに記述するのを忘れないで下さい!
  6. 
            
                maven.java.net
                Java.net Repository for Maven
                https://maven.java.net/content/groups/promoted/
            
            
                maven2-repository.dev.java.net
               Java.net Repository for Maven
                http://download.java.net/maven/glassfish/
            
        
    
  7. 以下のMavenのコマンドを実行し、ブラウザでhttp://localhost:8282/javaee7-sampleを開きます。
  8. $ mvn package embedded-glassfish:run
プラグインの依存性を修正しなければならない理由は、GlassFish 4 promoted buildに対応したEmbedded Pluginがまだリリースされていないからです。すでに一部のあーティファクトはあるのですがね(b79用のsimple-glassfish-apiとか。バージョンが違うのは、b83がまだリリースされていないからです)。公式リリースのタイミングでプラグインがアップデートされることでしょう。

ところで、このEmbedded Pluginの設定で、Java Server Facesページを編集することができます。ブラウザの更新ボタンを押してみてください。Mavenのターゲットディレクトリに展開されたWARを指すよう構成されています。デザイナー向けの素晴らしいセットアップの仕組みですね。

お披露目前にJava EE 7のコーディングを楽しみましょう!

0 件のコメント:

コメントを投稿