posts - 165, comments - 198, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          ant 項目使用(修改配置,并加上lib 直接使用)

          Posted on 2008-06-23 16:27 G_G 閱讀(1725) 評論(0)  編輯  收藏 所屬分類: ant

          功能描述:
          1.ant hibernate:由class xdoclet 得到映射.
          2.hbm2ddl? action
          ???2.0.建立此動作文件???????????????????????????????????????????????????
          ???2.1.備份數據庫,并重建數據庫????
          ???2.2.建立hbm2ddl標簽并建create table sql 文件
          ???2.3.執行sql文件????? basicData.sql ; test.sql

          3.junit 集成測試

          lib 需要

          • commons-collections-2.0.jar
          • commons-logging.jar
          • dom4j-1.6.1.jar
          • hibernate3.jar
          • hibernate-tools.jar
          • junit.jar
          • mysql-connector-java-5.0.8-bin.jar
          • xdoclet-1.2.3.jar
          • xdoclet-hibernate-module-1.2.3.jar
          • xdoclet-xdoclet-module-1.2.3.jar
          • xjavadoc-1.1.jar

          文件路徑
          ???ant---------
          ????????????+-- basicData.sql? 系統數據庫建表
          ????????????|-- build-dist.properties? 項目配置
          ??????????? |--test.sql? 插入測試數據
          ???build.xml

          build.xml
          <?xml?version="1.0"?encoding="utf-8"?>
          <!--
          ????維護?
          ????????path->hibernatedoclet.class.path
          ????????path->tproject.class.path????
          -->
          <project?name="XDoclet?Examples"?basedir=".">
          ????
          <property?name="xdoclet.root.dir"?value="${basedir}/.."?/>
          ????
          <property?file="${xdoclet.root.dir}/build.properties"?/>
          ????
          <property?file="./ant/build-dist.properties"?/>



          ????
          ????
          ????
          <path?id="hibernatedoclet.class.path">
          ????????
          <fileset?dir="${xdoclet2.lib.dir}">
          ????????????
          <include?name="*.jar"?/>
          ????????
          </fileset>
          ????
          </path>


          ????
          <path?id="tproject.class.path">
          ????????
          <fileset?dir="${tproject.lib}">
          ????????????
          <include?name="**/*.jar"?/>
          ????????
          </fileset>
          ????????
          <fileset?dir="${tproject.classpath}">
          ????????????
          <include?name="**/*.*"?/>
          ????????
          </fileset>
          ????????
          <fileset?dir="${xdoclet2.lib.dir}">
          ????????????
          <include?name="*.jar"?/>
          ????????
          </fileset>
          ????
          </path>

          ????
          <!--?===================================================================?-->
          ????
          <!--?Initialise??????????????????????????????????????????????????????????-->
          ????
          <!--?===================================================================?-->
          ????
          <target?name="init">
          ????????
          <tstamp>
          ????????????
          <format?property="Ttstamp"?pattern="yyyy_MM_dd_HH_mm_ss"?/>
          ????????
          </tstamp>
          ????????
          <taskdef?name="hibernatedoclet"?classname="xdoclet.modules.hibernate.HibernateDocletTask"?classpathref="hibernatedoclet.class.path"?/>
          ????
          </target>


          ????
          <!--?===================================================================?-->
          ????
          <!--?Invoke?XDoclet's?hibernate??????????????????????????????????????????-->
          ????
          <!--?===================================================================?-->
          ????
          <target?name="hibernate"?depends="init"?description="Generate?mapping?documents?(run?jar?first)">

          ????????
          <echo>+---------------------------------------------------+</echo>
          ????????
          <echo>|???????????????????????????????????????????????????|</echo>
          ????????
          <echo>|?R?U?N?N?I?N?G???H?I?B?E?R?N?A?T?E?D?O?C?L?E?T?????|</echo>
          ????????
          <echo>|???????????????????????????????????????????????????|</echo>
          ????????
          <echo>+---------------------------------------------------+</echo>

          ????????
          <hibernatedoclet?destdir="${tproject.conf}"?excludedtags="@version,@author,@todo,@see"?addedtags="@xdoclet-generated?at?${TODAY},@copyright?The?XDoclet?Team,@author?XDoclet,@version?${version}"?force="${samples.xdoclet.force}"?verbose="true">
          ????????????
          ????????????
          <!--?hibernate?需要維護的?fileset?-->
          ????????????
          <fileset?dir="demo">
          ????????????????
          <include?name="**/*Bean.java"?/>
          ????????????
          </fileset>
          ????????????
          <hibernate?version="3.0"?/>
          ????????
          </hibernatedoclet>
          ????
          </target>

          ????
          <!--?===================================================================?
          ????????hbm2ddl??action
          ????????????0.建立此動作文件????????????????????????????????????????????????????
          ????????????1.備份數據庫,并重建數據庫?????
          ????????????2.建立hbm2ddl標簽并建create?table?sql?文件
          ????????????3.執行sql文件????????????????????????????????????????????????????????????????????????????????
          ?????===================================================================?
          -->
          ????
          <target?name="hbm2ddl"?depends="init">
          ????????
          <echo>this->create?table?ENGINE=InnoDB?DEFAULT?CHARSET=utf8?</echo>
          ????????
          <echo>--c:\\my.ini--</echo>
          ????????
          <echo>
          ????????????[mysqld]
          ????????????default-storage-engine=InnoDB
          ????????????default-character-set=utf8
          ????????????[mysql]
          ????????????default-character-set=utf8
          ????????
          </echo>

          ????????
          <property?name="this.sql.path"?value="${tproject.conf.sql}/${Ttstamp}"?/>
          ????????
          <mkdir?dir="${this.sql.path}"?/>
          ????????
          <echo?message="for??${hibernate.cfg.xml.dir}?->?${hibernate.cfg.xml.file}"?/>
          ????????
          <property?name="sql.file"?value="hbm2ddl.sql"?/>
          ????????
          <echo?message="?dump?mysql?database?-?>?${use.database}"?/>
          ????????
          <property?name="hibernate.cfg.jdbc.url"?value="jdbc:mysql://localhost:3306/${use.database}?characterEncoding=${characterEncoding}"?/>
          ????????
          <property?name="dbAction.jdbc.url"?value="jdbc:mysql://localhost:3306/mysql?characterEncoding=${characterEncoding}"?/>

          ????????
          ????????
          <!--1.備份數據庫,并重建數據庫??-->
          ????????
          <sql?driver="${hibernate.cfg.driver}"?url="${dbAction.jdbc.url}"?userid="${hibernate.cfg.username}"?password="${hibernate.cfg.password}"?print="yes"?>
          ????????????
          <classpath?refid="tproject.class.path"?/>
          ????????????create?database?if?not?exists??${use.database}?;
          ????????
          </sql>
          ????????
          <exec?executable="cmd">
          ????????????
          <arg?line="/c??${mysql.home}/bin/mysqldump?--opt?${use.database}?-u${hibernate.cfg.username}??>?${this.sql.path}/dump.sql"?/>
          ????????
          </exec>
          ????????
          <sql?driver="${hibernate.cfg.driver}"?url="${dbAction.jdbc.url}"?userid="${hibernate.cfg.username}"?password="${hibernate.cfg.password}"?print="yes"?>
          ????????????
          <classpath?refid="tproject.class.path"?/>
          ????????????drop?database?if?exists??${use.database}?;
          ????????????create?database?${use.database}?;
          ????????
          </sql>
          ????????
          ????????
          <!--建立hbm2ddl標簽并建create?table?sql?文件?-->
          ????????
          <taskdef?name="hbm2ddl"?classname="org.hibernate.tool.ant.HibernateToolTask"?classpathref="hibernatedoclet.class.path">
          ????????????
          <classpath?location="${tproject.conf}">
          ????????????
          </classpath>
          ????????????
          <classpath>
          ????????????????
          <path>
          ????????????????????
          <fileset?dir="${tproject.conf}">
          ????????????????????????
          <include?name="**/*.hbm.xml"?/>
          ????????????????????
          </fileset>
          ????????????????
          </path>
          ????????????
          </classpath>
          ????????
          </taskdef>
          ????????
          ????????
          <echo?message="?hbm2ddl?database?by??-?>?${use.database}?${hibernate.cfg.xml.file}?"?/>
          ????????
          <echo?message="?hbm2ddl?path?=?${this.sql.path}?"?/>
          ????????
          <echo?message="?hbm2ddl?file?=?${sql.file}?"?/>
          ????????
          <hbm2ddl?destdir="${this.sql.path}">
          ????????????
          <configuration?configurationfile="${hibernate.cfg.xml.file}"?/>
          ????????????
          <hbm2ddl?export="false"?console="false"?create="true"?update="false"?drop="true"?outputfilename="${sql.file}"?/>
          ????????
          </hbm2ddl>
          ????????
          <!--?執行sql文件?-->
          ????????
          <sql?driver="${hibernate.cfg.driver}"?url="${hibernate.cfg.jdbc.url}"?userid="${hibernate.cfg.username}"?password="${hibernate.cfg.password}"?onerror="continue"?print="yes"?src="${this.sql.path}/${sql.file}"?classpathref="hibernatedoclet.class.path"?/>
          ????????
          <sql?driver="${hibernate.cfg.driver}"?url="${hibernate.cfg.jdbc.url}"?userid="${hibernate.cfg.username}"?password="${hibernate.cfg.password}"?onerror="continue"?print="yes"?src="./ant/basicData.sql"?classpathref="hibernatedoclet.class.path"?/>
          ????????
          <sql?driver="${hibernate.cfg.driver}"?url="${hibernate.cfg.jdbc.url}"?userid="${hibernate.cfg.username}"?password="${hibernate.cfg.password}"?onerror="continue"?print="yes"?src="./ant/test.sql"?classpathref="hibernatedoclet.class.path"?/>
          ????????????????
          ????
          </target>


          ????
          <target?name="make?resource">
          ????????
          <delete?file="${tproject.conf}/globalMessages_zh_CN.properties">
          ????????
          </delete>

          ????????
          <exec?dir="${tproject.conf}"?executable="native2ascii">
          ????????????
          <arg?line="
          ????????????????globalMessages.properties
          ????????????????globalMessages_zh_CN.properties"
          ?/>
          ????????
          </exec>
          ????
          </target>


          ????
          <!--?===================================================================?-->
          ????
          <!--?junit?????????????????????????????????????????????????????????????-->
          ????
          <!--?===================================================================?-->
          ????
          <target?name="test">
          ????????
          <mkdir?dir="${tproject.conf}/htmlreport"?/>
          ????????
          <mkdir?dir="${tproject.conf}/report"?/>
          ????????
          <junit>
          ????????????
          <classpath?refid="tproject.class.path"?/>
          ????????????
          <classpath?path="${tproject.classpath}">
          ????????????
          </classpath>
          ????????????
          <formatter?type="xml"?/>
          ????????????
          <batchtest?haltonfailure="no"?todir="${tproject.conf}/report">
          ????????????????
          ????????????????
          <!--?junit?需要維護的?fileset?-->
          ????????????????
          <fileset??dir="./demo">
          ????????????????????
          <include?name="**/Test*.java"?/>
          ????????????????
          </fileset>
          ????????????????
          ????????????????
          ????????????
          </batchtest>
          ????????
          </junit>

          ????????
          <junitreport?todir="${tproject.conf}/htmlreport">
          ????????????
          <fileset?dir="${tproject.conf}/report">
          ????????????????
          <include?name="TEST-*.xml"?/>
          ????????????
          </fileset>
          ????????????
          <report?format="noframes"?todir="${tproject.conf}/htmlreport"?/>
          ????????
          </junitreport>
          ????????
          <echo?message="end?test?->?print->${tproject.conf}/htmlreport/junit-noframes.html?"?/>
          ????
          </target>

          </project>



          配置文件:(我測試項目的)
          #?These?properties?are?only?used?when?building?the?samples?expanded?from?the?distribution.
          xdoclet2.lib.dir
          =./xdoclet2/lib

          tproject.classpath
          =./WebContent/WEB-INF/classes
          tproject.conf
          =./conf
          tproject.lib
          =./WebContent/WEB-INF/lib
          tproject.conf.sql
          =${tproject.conf}/sql

          #?
          -------------------------------------------------------------------------------------?#
          hibernate.cfg.xml.file
          =${tproject.classpath}/hibernate.cfg.xml
          mysql.home
          =D:/mysql-noinstall-5.0.27-win32/mysql-5.0.27-win32
          hibernate.cfg.driver
          =com.mysql.jdbc.Driver
          characterEncoding
          =utf8
          hibernate.cfg.username
          =root
          hibernate.cfg.password
          =
          use.database
          =aop



          主站蜘蛛池模板: 汾西县| 蒙城县| 游戏| 康平县| 黔东| 伽师县| 运城市| 肇东市| 清远市| 嵊泗县| 南阳市| 始兴县| 岳阳市| 嘉祥县| 塔河县| 景洪市| 东源县| 辽宁省| 南郑县| 集贤县| 康平县| 长岛县| 同心县| 鸡西市| 南漳县| 绥阳县| 兴隆县| 嫩江县| 麻城市| 石门县| 甘谷县| 阳高县| 肇州县| 文水县| 怀化市| 瓦房店市| 衡山县| 濮阳市| 吉水县| 黎川县| 博野县|