天天看點

xdoclet2通過标注生成配置檔案

xdoclet2通過标注生成配置檔案

xdoclet2首頁

http://xdoclet.codehaus.org/

xdoclet首頁

http://xdoclet.sourceforge.net/xdoclet/index.html

1.xdoclet2生成hibernate配置檔案

hibernate tag庫

http://xdoclet.sourceforge.net/xdoclet/tags/hibernate-tags.html

build.xml配置檔案如下:

<target name="xdoclet4hibernate"

depends="init">

<taskdef name="xdoclet2"

classname="org.xdoclet.ant.XDocletTask"

classpathref="build.classpath" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" />

<property name="hibernate.merge.home"

value="${main.merge.home}/hibernate3" />

<property name="hibernate.output.home" value="${main.resources.home}" />

<delete>

<fileset dir="${hibernate.output.home}" includes="**model*.java" />

<include name="**/domain*.java" />

</fileset>

<component classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"

version="3.0"

destdir="${hibernate.output.home}" />

<component classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"

version="3.0"

destdir="${hibernate.output.home}" />

</xdoclet2>

</target>

2.xdoclet2生成spring配置檔案

spring tag庫

http://xdoclet.sourceforge.net/xdoclet/tags/spring-tags.html

build.xml配置檔案如下:

<target name="xdoclet4spring"

depends="init"

if="xdoclet4spring.enabled">

<taskdef name="springdoclet"

classname="xdoclet.modules.spring.SpringDocletTask"

classpathref="build.classpath" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" />

<property name="spring.merge.home" value="${main.merge.home}/spring" />

<property name="spring.output.home" value="${main.resources.home}" />

<delete>

<fileset dir="${spring.output.home}">

<include name="applicationContext-cpmis.xml" />

</fileset>

</delete>

<springdoclet destDir="${spring.output.home}"

mergeDir="${spring.merge.home}">

<fileset dir="${main.java.home}"

includes="com/enrising/cpmis*.java" />

<fileset dir="${main.java.home}" includes="jorsoft*.java" />

<springxml destDir="${spring.output.home}"

destinationFile="applicationContext-cpmis.xml" />

</springdoclet>

</target>

3.xdoclet2生成struts配置檔案

struts tag庫

http://xdoclet.sourceforge.net/xdoclet/tags/apache-tags.html

<target name="xdoclet4web"

depends="init"

if="xdoclet4web.enabled"

description="生u25104 web.xml,struts-*.xml,ibm-*.*的u26144 射u25991 件>

<taskdef name="webdoclet"

classname="xdoclet.modules.web.WebDocletTask"

classpathref="build.classpath" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" />

<property name="web.merge.home" value="${main.merge.home}/web" />

<property name="web.output.home" value="${main.webapp.home}/WEB-INF" />

<property name="struts.merge.home" value="${main.merge.home}/struts" />

<property name="struts.dest.home" value="${main.webapp.home}/WEB-INF" />

<mkdir dir="${web.output.home}" />

<mkdir dir="${struts.dest.home}" />

<delete>

<fileset dir="${web.output.home}"

includes="struts-config.xml" />

</delete>

<webdoclet destdir="${web.output.home}"

excludedtags="@version, @author, @todo, @override"

force="true"

verbose="true"

mergedir="${web.merge.home}">

<fileset dir="${main.java.home}">

<include name="**/web*.java" />

</fileset>

<strutsconfigxml version="${struts.version}"

destinationFile="struts-config.xml"

destDir="${struts.dest.home}"

mergeDir="${struts.merge.home}">

</strutsconfigxml>

</webdoclet>

</target>

問題一:

執行ANT任務時報錯-java.lang.OutOfMemoryError: Java heap space

執行 ant xdoclet4hibernate -d 列印出調試資訊

在系統上增加變量

ANT_OPTS=-Xmx1024m

問題解決

問題二:

hibernate預設過濾了@auth 等JAVA标準标簽,注意這些标簽要書寫正确

問題三:

eclipse菜單Window -> Preferences -> Java -> Installed JREs -> Edit > Default VM Parameter

加上參數-Xmx512M

檢查eclipse目錄$ECLIPSE_HOME\eclipse.ini

-vmargs

-Xms80m

-Xmx512m