Java EEのサンプルは、以下からダウンロードしてください。
http://java.sun.com/javaee/reference/code/index.jsp
上記からダウンロードできるサンプル(2009年7月時点)を使用する場合の手順と注意事項を以下に説明します。また、サンプルを実行するには、事前にApache Antプロジェクトが提供するAntを別途インストールする必要があります。
以下のファイルを編集します。
/bp-project/app-server.properties
編集項目
| プロパティ | 説明 | 編集前 | 編集例 | 
|---|---|---|---|
| javaee.home | Java EE機能のインストールディレクトリを指定します。 | c:/Sun/AppServer | C:/Interstage/F3FMisjee | 
| javaee.domaindir | ドメインのディレクトリを指定します。 | ${javaee.home}/domains/ | ${javaee.home}/var/ | 
以下のファイルを変名し、build.propertiesファイルを作成してファイルを編集します。
/bp-project/build.properties.sample
| プロパティ | 編集前 | 編集例 | 説明 | 
|---|---|---|---|
| javaee.home | c:/Sun/SDK | C:/Interstage/F3FMisjee | Java EE機能のインストールディレクトリを指定します。 | 
| javaee.server.passwordfile | ${javaee.home}/samples/bp-project/passwordfile | C:/sample/passwordfile | 手順3で作成するパスワードファイルのパスを指定します。 | 
| javaee.server.port | 8080 | 80 | Webサーバのポート番号を指定します。 | 
passwordfileという名前のファイルを作成し、管理ユーザ名のパスワードを指定します。
作成したファイルの指定方法については、手順2を参照してください。
【指定例】
AS_ADMIN_PASSWORD=adminadmin
以下のファイルで実行しているwsimportコマンドを、ijwsimportコマンドに変更します。
/javaee5/webservices/hello-jaxws/build.xml
【編集前】
|     <target name="get-artifacts-windows" if="windows">
        <exec executable="${javaee.home}/bin/wsimport.bat">
            <arg line="-keep -d ${classesdir} http://${javaee.server.name}:${javaee.server.port}/Hello/HelloService?WSDL"/>
        </exec>
    </target>
    <target name="get-artifacts-unix" if="unix">
        <exec executable="${javaee.home}/bin/wsimport">
            <arg line="-keep -d ${classesdir} http://${javaee.server.name}:${javaee.server.port}/Hello/HelloService?WSDL"/>
        </exec>
    </target> | 
【編集後】
|     <target name="get-artifacts-windows" if="windows">
        <exec executable="${javaee.home}/bin/ijwsimport.bat">
            <arg line="-keep -d ${classesdir} http://${javaee.server.name}:${javaee.server.port}/Hello/HelloService?WSDL"/>
        </exec>
    </target>
    <target name="get-artifacts-unix" if="unix">
        <exec executable="${javaee.home}/bin/ijwsimport">
            <arg line="-keep -d ${classesdir} http://${javaee.server.name}:${javaee.server.port}/Hello/HelloService?WSDL"/>
        </exec>
    </target> | 
また、同じファイル内のcompile-deploy-serviceターゲットを次のように置き換えます。
【編集前】
|     <target name="compile-deploy-service" depends="init">
        <mkdir dir="${classesdir}"/>
        <echo message="${javaee.home}"/>
        <javac 
            srcdir="./src" 
            includes="endpoint/**"
            destdir="${autodeploydir}"
            classpath="${javaee.home}/lib/j2ee.jar" 
        />
        <waitfor maxwait="100" maxwaitunit="second">
           <or>
                <available file="${autodeploydir}/endpoint/Hello.class_deployed"/>
                <available file="${autodeploydir}/endpoint/Hello.class_deployFailed"/>
           </or>
        </waitfor>
        <condition property="deploy_succeeded">
                <available file="${autodeploydir}/endpoint/Hello.class_deployed"/>
        </condition>
        <condition property="deploy_failed">
                <available file="${autodeploydir}/endpoint/Hello.class_deployFailed"/>
        </condition>
    </target> | 
【編集後】
|     <import file="../../../bp-project/main.xml" />
    <target name="compile-deploy-service" depends="init">
        <mkdir dir="${classesdir}/server/WEB-INF/classes"/>
        <echo message="${javaee.home}"/>
        <javac 
            srcdir="./src" 
            includes="endpoint/**"
            destdir="${classesdir}/server/WEB-INF/classes"
            classpath="${javaee.home}/lib/javaee.jar" 
        />
        <jar destfile="${classesdir}/server/Hello.war" basedir="${classesdir}/server"/>
        <antcall target="deploy">
            <param name="run.uri" value="Hello"/>
            <param name="module.name" value="Hello"/>
            <param name="app.module" value="${classesdir}/server/Hello.war"/>
        </antcall>
        <delete dir="${classesdir}/server"/>
    </target> | 
さらに、compile-clientターゲットを編集し、以下のようにreplaceタスクを追加してください。
【編集前】
|     <target name="compile-client" depends="get-artifacts">
        <replace 
            file="./src/client/Client.java" 
            token="localhost:8080" 
            value="${javaee.server.name}:${javaee.server.port}"/>
        <javac srcdir="./src/client" destdir="${classesdir}">
            <classpath refid="classpath"/>
        </javac>
    </target> | 
以下のファイルに記載されている"localhost: 8080"のコロンとポート番号の間に含まれる空白スペースを削除してください。
/javaee5/webservices/ssl-jaxws-ear/ssl-jaxws-appclient/build.xml
【編集前】
token="localhost: 8080"
【編集後】
token="localhost:8080"
以下のファイルで実行しているasadminコマンドのdeploy/create-jdbc-resource/create-file-userサブコマンドには—targetオプションの指定が必要です。また、--hostと--portの指定は不要なので削除してください。
/bp-project /app-server-ant.xml
配備コマンド実行時の編集例は以下です。
【編集前】
|     <exec executable="${asadmin}" failonerror="${failonerror}">
        <arg line=" deploy "/>
        <arg line=" --user ${javaee.server.username}" />
        <arg line=" --passwordfile '${javaee.server.passwordfile}'" />
        <arg line=" --host ${javaee.server.name}" />
        <arg line=" --port ${javaee.adminserver.port}" />
        <arg line=" --name ${module.name}"/>
        <arg line=" --force=true "/>
        <arg line=" --upload=true "/>
        <arg line=" --dbvendorname ${db.vendorname}"/>
        <arg line="${app.module}" />
    </exec> | 
【編集後】
|     <exec executable="${asadmin}" failonerror="${failonerror}">
        <arg line=" deploy "/>
        <arg line=" --target ${appserver.instance}" /> | 
また、asadminコマンドのcreate-jdbc-connection-poolサブコマンドのプロパティに以下のように:connectionAttributesプロパティを追加してください。
| <target name="create-jdbc-connection-pool" depends="tools" 
    description="creates jdbc connection pool">
    <fail unless="db.sid" message="The property db.sid must be set before invoking this target.
 Otherwise there is no database to use."/>
    <fail unless="pool.name" message="The property pool.name must be set before invoking this target.
 Otherwise there is no pool to use with the jdbc resource."/>
    <exec executable="${asadmin}">
        <arg line=" create-jdbc-connection-pool"/>
        <arg line=" --target ${appserver.instance}" />
        <arg line=" --user ${javaee.server.username}" />
        <arg line=" --passwordfile '${javaee.server.passwordfile}'" />
        <arg line=" --datasourceclassname ${db.datasource}" />
        <arg line=" --restype javax.sql.XADataSource " />
        <arg line=" --property portNumber=${db.port}:serverName=${javaee.server.name}:
User=${db.user}:Password=${db.password}:databaseName=${db.sid}:connectionAttributes=\;create\=true" />
        <arg line=" ${pool.name} " />
    </exec> 
 </target>
 | 
また、wsimportプロパティの値をijwsimportコマンドのパスに変更します。
【編集前】
<property name="wsimport" value="${javaee.home}/bin/wsimport${javaee-script-suffix}"/>
【編集後】
<property name="wsimport" value="${javaee.home}/bin/ijwsimport${javaee-script-suffix}"/>
以下のエラーが発生しますが、無視して問題ありません。
| keygen-common:
     [echo] Generating key for user javaee in server.
     [exec] ijadmin: ERROR: ISJEE_OM2309: User javaee already exists.
     [exec] ijadmin: ERROR: ISJEE_CLI137 Command create-file-user failed.
     [exec] Result: 1
   [delete] Deleting: C:\sample\javaee\javaee5\enterprise\sec
urity-stateless-ear\asadminuserpassword.txt
 | 
| keydel-common:
     [echo] Deleting key for user javaee in server.
     [exec] ijadmin: ERROR: ISJEE_OM2324: No such user [javaee].
     [exec] ijadmin: ERROR: ISJEE_CLI137 Command delete-file-user failed.
     [exec] Result: 1
Trying to override old definition of task iterate
 | 
サンプルを実行する前に以下のコマンドを実行してJava DBをあらかじめ起動してください。
asadmin start-database