2009年12月6日日曜日

コンテナ管理トランザクションであそぶ - (8/10) -

ビルドする

ejb-jarファイル、warファイル、earファイル作成ビルドファイルを作成します。

ejb-module/pom.xml
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mydomain.ejb</groupId>
  <artifactId>ejb-module</artifactId>
  <packaging>ejb</packaging>
  <version>1.0</version>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-ejb-plugin</artifactId>
        <configuration>
          <ejbVersion>3.0</ejbVersion>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.apache.openejb</groupId>
      <artifactId>javaee-api</artifactId>
      <version>5.0-2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.openejb</groupId>
      <artifactId>openejb-core</artifactId>
      <version>3.1.2</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
</project>
webtest-client/pom.xml
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mydomain.ejb</groupId>
  <artifactId>webtest-client</artifactId>
  <packaging>war</packaging>
  <version>1.0</version>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.apache.openejb</groupId>
      <artifactId>javaee-api</artifactId>
      <version>5.0-2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.openejb</groupId>
      <artifactId>openejb-core</artifactId>
      <version>3.1.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.mydomain.ejb</groupId>
      <artifactId>ejb-module</artifactId>
      <version>1.0</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
</project>
build-ear/pom.xml
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mydomain.ejb</groupId>
  <artifactId>enterprise-bean-example</artifactId>
  <packaging>ear</packaging>
  <version>1.0</version>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <modules>
            <ejbModule>
              <groupId>com.mydomain.ejb</groupId>
              <artifactId>ejb-module</artifactId>
            </ejbModule>
            <webModule>
              <groupId>com.mydomain.ejb</groupId>
              <artifactId>webtest-client</artifactId>
              <contextRoot>webtest-client</contextRoot>
            </webModule>
          </modules>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>com.mydomain.ejb</groupId>
      <artifactId>ejb-module</artifactId>
      <version>1.0</version>
      <type>ejb</type>
    </dependency>
    <dependency>
      <groupId>com.mydomain.ejb</groupId>
      <artifactId>webtest-client</artifactId>
      <version>1.0</version>
      <type>war</type>
    </dependency>
  </dependencies>
</project>


一括ビルドpomファイルを作成します。

build/pom.xml
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mydomain.ejb</groupId>
  <artifactId>build</artifactId>
  <packaging>pom</packaging>
  <version>1.0</version>
  <modules>
      <module>../ejb-module/pom.xml</module>
      <module>../webtest-client/pom.xml</module>
      <module>../build-ear/pom.xml</module>
   </modules>
</project>


コマンドプロンプトを開き一括ビルドpomファイルのあるフォルダに移動して一括ビルドpomファイルを実行します。

cd C:\mywork\build
mvn clean install
生成されたenterprise-bean-example-1.0.earを 『GLASSFISHインストールフォルダ/domains/domain1/autodeploy』フォルダーにコピーします。