Posted on 2007-01-05 15:05
itspy 阅读(1787)
评论(2) 编辑 收藏
一个完整的Appfuse ant结构图,图有些大
http://www.blogjava.net/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的标签生成配置文件,