- <project name="j2ee-tutorial-app" default="about" basedir=".">
- <target name="init">
<tstamp />
<property name="build" value="build" />
<property name="dist" value="dist" />
<property name="src" value="src" />
<property name="sql" value="sql" />
<property environment="myenv" />
<property name="cpath" value=".:${myenv.J2EE_HOME}/lib/j2ee.jar:./src:jar/tx-ejb.jar:jar/account-ejb.jar:jar/customer-ejb.jar" />
<property name="packager" value="com.sun.enterprise.tools.packager.Main" />
<property name="pack-jvmargs" value="-Xmx128m" />
<property name="pack-path" value=".:${myenv.J2EE_HOME}\lib\j2ee.jar:${myenv.J2EE_HOME}\lib\locale" />
<property name="app-jars" value="jar/account-ejb.jar:jar/customer-ejb.jar:jar/tx-ejb.jar:jar/web-client.war:jar/app-client.jar" />
<property name="util-files" value="com/sun/ebank/util" />
<property name="ejb-exception-files" value="com/sun/ebank/ejb/exception" />
<property name="account-ejb-files" value="com/sun/ebank/ejb/account:com/sun/ebank/ejb/customer/Customer.class:com/sun/ebank/ejb/customer/CustomerHome.class" />
<property name="customer-ejb-files" value="com/sun/ebank/ejb/customer" />
<property name="tx-ejb-files" value="com/sun/ebank/ejb/tx:com/sun/ebank/ejb/account/Account.class:com/sun/ebank/ejb/account/AccountHome.class" />
<property name="ac-files" value="com/sun/ebank/appclient:AdminMessages.properties:AdminMessages_es.properties" />
<property name="cloud-lib" value="${myenv.J2EE_HOME}/lib/cloudscape" />
<property name="system-lib" value="${myenv.J2EE_HOME}/lib/system" />
<property name="cloud-path" value=".:${cloud-lib}/cloudclient.jar:${cloud-lib}/RmiJdbc.jar:${system-lib}/cloudutil.jar:${system-lib}/cloudscape.jar" />
<property name="cloud-jvmargs" value="-ms16m -mx32m -Dij.connection.CloudscapeDB=jdbc:rmi://localhost:1099/jdbc:cloudscape:CloudscapeDB;create=true -Dcloudscape.system.home=${myenv.J2EE_HOME}\cloudscape" />
</target>
- <target name="prepare" depends="init">
<mkdir dir="${build}" />
</target>
<target name="all" depends="package-ejb,package-web,setruntime-ac,assemble-app,setruntime-app" />
- <target name="compile-exception" depends="prepare">
<javac srcdir="${src}" destdir="${build}" includes="**/exception/*" classpath="${cpath}" />
</target>
- <target name="compile-detail" depends="prepare">
<javac srcdir="${src}" destdir="${build}" includes="**/util/*Details.java" classpath="${cpath}" />
</target>
- <target name="compile-interface" depends="compile-detail,compile-exception">
<javac srcdir="${src}" destdir="${build}" includes="**/ejb/**/**" excludes="**/ejb/**/*Bean*,**/ejb/exception/***,**/ejb/test/**" classpath="${cpath}" />
</target>
- <target name="compile-util" depends="compile-interface">
<javac srcdir="${src}" destdir="${build}" includes="**/ebank/util/**" classpath="${cpath}" />
</target>
- <target name="compile-ejb" depends="compile-util">
<javac srcdir="${src}" destdir="${build}" includes="**/ebank/ejb/**/*Bean*" classpath="${cpath}" />
</target>
- <target name="package-account" depends="compile-ejb">
<delete file="jar/account-ejb.jar" />
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-ejbJar ${build} ${account-ejb-files}:${ejb-exception-files}:${util-files} dd/account-ejb.xml jar/account-ejb.jar" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="package-customer" depends="compile-ejb">
<delete file="jar/customer-ejb.jar" />
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-ejbJar ${build} ${customer-ejb-files}:${ejb-exception-files}:${util-files} dd/customer-ejb.xml jar/customer-ejb.jar" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="package-tx" depends="compile-ejb">
<delete file="jar/tx-ejb.jar" />
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-ejbJar ${build} ${tx-ejb-files}:${ejb-exception-files}:${util-files} dd/tx-ejb.xml jar/tx-ejb.jar" />
<classpath path="${pack-path}" />
</java>
</target>
<target name="package-ejb" depends="package-account,package-customer,package-tx" />
- <target name="compile-web" depends="prepare">
<javac srcdir="${src}" destdir="${build}" includes="com/**/web/**" classpath="${cpath}" />
</target>
- <target name="package-web" depends="compile-web">
<delete file="jar/web-client.war" />
- <war warfile="jar/web-client.war" webxml="dd/web.xml">
- <fileset dir="${src}/web">
<include name="*.jsp" />
<include name="images/*.gif" />
</fileset>
- <webinf dir="${src}/web">
<include name="*.tld" />
<exclude name="*.jsp" />
<exclude name="*.txt" />
<exclude name="images/**" />
</webinf>
- <webinf dir="jar">
<include name="*.tld" />
</webinf>
- <lib dir="jar">
<include name="struts.jar" />
</lib>
- <classes dir="${build}">
<include name="**/*.class" />
<exclude name="com/sun/ebank/appclient/**" />
<exclude name="com/sun/ebank/ejb/**" />
<exclude name="com/sun/ebank/util/**" />
</classes>
- <classes dir="${src}/web">
<include name="*.properties" />
</classes>
</war>
</target>
- <target name="compile-ac" depends="compile-util">
<javac srcdir="${src}" destdir="${build}" includes="**/appclient/**" classpath="${cpath}" />
</target>
- <target name="package-ac" depends="compile-ac">
- <copy todir="${build}">
- <fileset dir="${src}">
<include name="**/appclient/*.properties" />
</fileset>
<mapper type="flatten" />
</copy>
<delete file="jar/app-client.jar" />
- <target name="init">
<tstamp />
<property name="build" value="build" />
<property name="dist" value="dist" />
<property name="src" value="src" />
<property name="sql" value="sql" />
<property environment="myenv" />
<property name="cpath" value=".:${myenv.J2EE_HOME}/lib/j2ee.jar:./src:jar/tx-ejb.jar:jar/account-ejb.jar:jar/customer-ejb.jar" />
<property name="packager" value="com.sun.enterprise.tools.packager.Main" />
<property name="pack-jvmargs" value="-Xmx128m" />
<property name="pack-path" value=".:${myenv.J2EE_HOME}\lib\j2ee.jar:${myenv.J2EE_HOME}\lib\locale" />
<property name="app-jars" value="jar/account-ejb.jar:jar/customer-ejb.jar:jar/tx-ejb.jar:jar/web-client.war:jar/app-client.jar" />
<property name="util-files" value="com/sun/ebank/util" />
<property name="ejb-exception-files" value="com/sun/ebank/ejb/exception" />
<property name="account-ejb-files" value="com/sun/ebank/ejb/account:com/sun/ebank/ejb/customer/Customer.class:com/sun/ebank/ejb/customer/CustomerHome.class" />
<property name="customer-ejb-files" value="com/sun/ebank/ejb/customer" />
<property name="tx-ejb-files" value="com/sun/ebank/ejb/tx:com/sun/ebank/ejb/account/Account.class:com/sun/ebank/ejb/account/AccountHome.class" />
<property name="ac-files" value="com/sun/ebank/appclient:AdminMessages.properties:AdminMessages_es.properties" />
<property name="cloud-lib" value="${myenv.J2EE_HOME}/lib/cloudscape" />
<property name="system-lib" value="${myenv.J2EE_HOME}/lib/system" />
<property name="cloud-path" value=".:${cloud-lib}/cloudclient.jar:${cloud-lib}/RmiJdbc.jar:${system-lib}/cloudutil.jar:${system-lib}/cloudscape.jar" />
<property name="cloud-jvmargs" value="-ms16m -mx32m -Dij.connection.CloudscapeDB=jdbc:rmi://localhost:1099/jdbc:cloudscape:CloudscapeDB;create=true -Dcloudscape.system.home=${myenv.J2EE_HOME}\cloudscape" />
</target>
- <target name="prepare" depends="init">
<mkdir dir="${build}" />
</target>
<target name="all" depends="package-ejb,package-web,setruntime-ac,assemble-app,setruntime-app" />
- <target name="compile-exception" depends="prepare">
<javac srcdir="${src}" destdir="${build}" includes="**/exception/*" classpath="${cpath}" />
</target>
- <target name="compile-detail" depends="prepare">
<javac srcdir="${src}" destdir="${build}" includes="**/util/*Details.java" classpath="${cpath}" />
</target>
- <target name="compile-interface" depends="compile-detail,compile-exception">
<javac srcdir="${src}" destdir="${build}" includes="**/ejb/**/**" excludes="**/ejb/**/*Bean*,**/ejb/exception/***,**/ejb/test/**" classpath="${cpath}" />
</target>
- <target name="compile-util" depends="compile-interface">
<javac srcdir="${src}" destdir="${build}" includes="**/ebank/util/**" classpath="${cpath}" />
</target>
- <target name="compile-ejb" depends="compile-util">
<javac srcdir="${src}" destdir="${build}" includes="**/ebank/ejb/**/*Bean*" classpath="${cpath}" />
</target>
- <target name="package-account" depends="compile-ejb">
<delete file="jar/account-ejb.jar" />
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-ejbJar ${build} ${account-ejb-files}:${ejb-exception-files}:${util-files} dd/account-ejb.xml jar/account-ejb.jar" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="package-customer" depends="compile-ejb">
<delete file="jar/customer-ejb.jar" />
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-ejbJar ${build} ${customer-ejb-files}:${ejb-exception-files}:${util-files} dd/customer-ejb.xml jar/customer-ejb.jar" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="package-tx" depends="compile-ejb">
<delete file="jar/tx-ejb.jar" />
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-ejbJar ${build} ${tx-ejb-files}:${ejb-exception-files}:${util-files} dd/tx-ejb.xml jar/tx-ejb.jar" />
<classpath path="${pack-path}" />
</java>
</target>
<target name="package-ejb" depends="package-account,package-customer,package-tx" />
- <target name="compile-web" depends="prepare">
<javac srcdir="${src}" destdir="${build}" includes="com/**/web/**" classpath="${cpath}" />
</target>
- <target name="package-web" depends="compile-web">
<delete file="jar/web-client.war" />
- <war warfile="jar/web-client.war" webxml="dd/web.xml">
- <fileset dir="${src}/web">
<include name="*.jsp" />
<include name="images/*.gif" />
</fileset>
- <webinf dir="${src}/web">
<include name="*.tld" />
<exclude name="*.jsp" />
<exclude name="*.txt" />
<exclude name="images/**" />
</webinf>
- <webinf dir="jar">
<include name="*.tld" />
</webinf>
- <lib dir="jar">
<include name="struts.jar" />
</lib>
- <classes dir="${build}">
<include name="**/*.class" />
<exclude name="com/sun/ebank/appclient/**" />
<exclude name="com/sun/ebank/ejb/**" />
<exclude name="com/sun/ebank/util/**" />
</classes>
- <classes dir="${src}/web">
<include name="*.properties" />
</classes>
</war>
</target>
- <target name="compile-ac" depends="compile-util">
<javac srcdir="${src}" destdir="${build}" includes="**/appclient/**" classpath="${cpath}" />
</target>
- <target name="package-ac" depends="compile-ac">
- <copy todir="${build}">
- <fileset dir="${src}">
<include name="**/appclient/*.properties" />
</fileset>
<mapper type="flatten" />
</copy>
<delete file="jar/app-client.jar" />
<jvmarg line="${pack-jvmargs}" />
<arg line="-applicationClient ${build} ${ac-files} com.sun.ebank.appclient.BankAdmin dd/app-client.xml jar/app-client.jar" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="setruntime-ac" depends="package-ac">
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-setRuntime jar/app-client.jar dd/runtime-ac.xml" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="assemble-app" depends="init">
<delete file="jar/DukesBankApp.ear" />
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-enterpriseArchive ${app-jars} DukesBankApp jar/DukesBankApp.ear" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="setruntime-app" depends="init">
- <java classname="${packager}" fork="yes">
<jvmarg line="${pack-jvmargs}" />
<arg line="-setRuntime jar/DukesBankApp.ear dd/runtime-app.xml" />
<classpath path="${pack-path}" />
</java>
</target>
- <target name="db-create-table" depends="init">
- <java classname="COM.cloudscape.tools.ij" fork="yes">
<jvmarg line="${cloud-jvmargs}" />
<arg value="${sql}/create-table.sql" />
<classpath path="${cloud-path}" />
</java>
</target>
- <target name="db-insert" depends="init">
- <java classname="COM.cloudscape.tools.ij" fork="yes">
<jvmarg line="${cloud-jvmargs}" />
<arg value="${sql}/insert.sql" />
<classpath path="${cloud-path}" />
</java>
</target>
- <target name="db-list" depends="init">
- <java classname="COM.cloudscape.tools.ij" fork="yes">
<jvmarg line="${cloud-jvmargs}" />
<arg value="${sql}/listAccount.sql" />
<classpath path="${cloud-path}" />
</java>
</target>
- <target name="db-delete" depends="init">
- <java classname="COM.cloudscape.tools.ij" fork="yes">
<jvmarg line="${cloud-jvmargs}" />
<arg value="${sql}/delete.sql" />
<classpath path="${cloud-path}" />
</java>
</target>
- <target name="db-reset-key" depends="init">
- <java classname="COM.cloudscape.tools.ij" fork="yes">
<jvmarg line="${cloud-jvmargs}" />
<arg value="${sql}/reset-key.sql" />
<classpath path="${cloud-path}" />
</java>
</target>
- <target name="about">
<echo message="Main targets for the Duke's Bank application:" />
<echo message="" />
<echo message="EJB" />
<echo message="compile-ejb" />
<echo message="package-ejb" />
<echo message="" />
<echo message="Web" />
<echo message="compile-web" />
<echo message="package-web" />
<echo message="" />
<echo message="App Client" />
<echo message="compile-ac" />
<echo message="package-ac" />
<echo message="setruntime-ac" />
<echo message="" />
<echo message="J2EE Application" />
<echo message="assemble-app" />
<echo message="setruntime-app" />
<echo message="" />
<echo message="Database" />
<echo message="db-create-table" />
<echo message="db-insert" />
</target>
- <target name="clean" depends="init">
<delete dir="${build}" />
</target>
</project>
1.你设置一个property指定J2EE_HOME的目录
<property name="myenv.J2EE_HOME" value="目录" />
2.你把cpath改成代码试试
<path id="cpath">
<pathelement location="${myenv.J2EE_HOME}/lib/j2ee.jar"/>
<pathelement location="src"/>
<fileset dir="jar">
<include name="**/*.jar"/>
</fileset>
</path>
3.你按照顺序每个target都执行一下,看问题出现在哪里。
4.你的build.xml文件的有些乱,可读性不好,需要好好refactor一下。
1.你设置一个property指定J2EE_HOME的目录
<property name="myenv.J2EE_HOME" value="目录" />
2.你把cpath改成代码试试
<path id="cpath">
<pathelement location="${myenv.J2EE_HOME}/lib/j2ee.jar"/>
<pathelement location="src"/>
<fileset dir="jar">
<include name="**/*.jar"/>
</fileset>
</path>
3.你按照顺序每个target都执行一下,看问题出现在哪里。
4.你的build.xml文件的有些乱,可读性不好,需要好好refactor一下。