Posted on 2007-01-05 15:05
itspy 閱讀(1796)
評論(2) 編輯 收藏
一個完整的Appfuse ant結構圖,圖有些大
? http://m.tkk7.com/Files/itspy/Appfuse.rar
在項目中運行ant setup-db后,下面三個目錄會被刪除,在Eclipse下使用這個工程的話,這時會報錯。
build/web/gen
build/web/classes
build/service/classes
解決辦法,運行ant compile,然后刷新Eclipse工程就好了。
appfuse中ant serup 與ant deploy 有如下兩個區別
setup依賴deploy?
1)setup會建立新數據庫
2)setup會復制一個文件到tomcat特定的目錄下面去,根據不同的tomcat版本做不同的復制。下面是此任務的原碼
?
??? <target name="setup-tomcat" depends="init" if="tomcat.home" description="copies jdbc driver and context.xml to tomcat">
??????? <if>
??????????? <and>
??????????????? <isset property="tomcat5" />
??????????????? <not><isset property="tomcat5.5" /></not>
??????????? </and>
??????????? <then>
??????????????? <echo message="Detected Tomcat 5..." />
??????????????? <echo level="info">Copying ${webapp.name}.xml...</echo>
??????????????? <copy tofile="${tomcat.home}/conf/Catalina/localhost/${webapp.name}.xml" file="metadata/conf/tomcat-context.xml" overwrite="true">
??????????????????? <filterset refid="db.variables" />
??????????????? </copy>
??????????? </then>
??????????? <elseif>
??????????????? <isset property="tomcat5.5" />
??????????????? <then>
??????????????????? <echo message="Detected Tomcat 5.5..." />
??????????????????? <echo level="info">Copying ${webapp.name}.xml...</echo>
??????????????????? <copy tofile="${tomcat.home}/conf/Catalina/localhost/${webapp.name}.xml" file="metadata/conf/tomcat-context-5.5.xml" overwrite="true">
??????????????????????? <filterset refid="db.variables" />
??????????????????? </copy>
??????????????? </then>
??????????? </elseif>
??????????? <else>
??????????????? <echo message="Detected Tomcat 4..." />
??????????????? <echo level="info">Copying ${webapp.name}.xml...</echo>
??????????????? <copy tofile="${tomcat.home}/webapps/${webapp.name}.xml" file="metadata/conf/tomcat-context.xml" overwrite="true">
??????????????????? <filterset refid="db.variables" />
??????????????? </copy>
??????????? </else>
??????? </if>
??? </target>?
????
????
建議:如果不了解這些任務,應該只用如下ant命令。
1)第一次運行Ant setup
2)以后每次只用運行 ant deploy就可以了。
3)只要通過Appfuse來操作數據庫時才使用,ant setup
這樣,你經常用到的只有 ant deploy,它會生成相應的ActionForm,并且通過相應Action的標簽生成配置文件,
????
????
????
????
???