我想为项目创建一个war文件。该代码适用于创建jar文件。
当我运行以下ant build.xml
时,它仍然给出消息jar文件BUILD SUCCESSFULL。
<project name="struts-spring" basedir="../" default="all">
<!-- Project settings -->
<property name="project.title" value="Sufalam Struts 2 Tutorials"/>
<property name="project.jar.file" value="struts-spring.jar"/>
<path id="class.path">
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
<fileset dir="libext">
<include name="**/*.jar"/>
</fileset>
</path>
<!-- Classpath for Project -->
<path id="compile.classpath">
<pathelement path ="lib/commons-beanutils.jar"/>
<pathelement path ="lib/commons-digester.jar"/>
<pathelement path ="lib/struts.jar"/>
<pathelement path ="libext/servlet-api.jar"/>
<pathelement path ="libext/catalina-ant.jar"/>
<pathelement path ="classes"/>
<pathelement path ="${classpath}"/>
</path>
<!-- Check timestamp on files -->
<target name="prepare">
<tstamp/>
<copy
file="src/struts.xml"
todir="src/classes"/>
</target>
<!-- Copy any resource or configuration files -->
<target name="resources">
<copy todir="classes" includeEmptyDirs="no">
<fileset dir="src/java">
<patternset>
<include name="**/*.conf"/>
<include name="**/*.properties"/>
<include name="**/*.xml"/>
</patternset>
</fileset>
</copy>
</target>
<!-- Normal build of application -->
<target name="compile" depends="prepare,resources">
<javac srcdir="src" destdir="classes"
debug="true" debuglevel="lines,vars,source">
<classpath refid="class.path"/>
</javac>
<jar
jarfile="lib/${project.jar.file}"
basedir="classes"/>
</target>
<!-- Remove classes directory for clean build -->
<target name="clean"
description="Prepare for clean build">
<delete dir="classes"/>
<mkdir dir="classes"/>
</target>
<!-- Build Javadoc documentation -->
<target name="javadoc"
description="Generate JavaDoc API docs">
<delete dir="./doc/api"/>
<mkdir dir="./doc/api"/>
<javadoc sourcepath="./src/java"
destdir="./doc/api"
classpath="${servlet.jar}:${jdbc20ext.jar}"
packagenames="*"
author="true"
private="true"
version="true"
windowtitle="${project.title} API Documentation"
doctitle="<h1>${project.title}
Documentation (Version ${project.version})</h1>"
bottom="Copyright © 2002">
<classpath refid="compile.classpath"/>
</javadoc>
</target>
<!-- Build entire project -->
<target name="project" depends="clean,prepare,compile"/>
<!-- Create binary distribution -->
<target name="dist"
description="Create binary distribution">
<mkdir
dir="${distpath.project}"/>
<!-- <jar
jarfile="${distpath.project}/${project.distname}.jar"
basedir="./classes"/>
<copy
file="${distpath.project}/${project.distname}.jar"
todir="${distpath.project}"/>-->
<war
basedir="../"
warfile="${distpath.project}/${project.distname}.war"
webxml="web.xml"> </war>
<copy file="${distpath.project}/${project.distname}.war" todir="${distpath.project}"/>
<!--<exclude name="${distpath.project}/${project.distname}.war"/>-->
</target>
<!-- Build project and create distribution-->
<target name="all" depends="project"/>
</project>
请帮我创建一个war文件。 提前谢谢。
答案 0 :(得分:5)
我没有看到你告诉战争任务将哪些文件放入war文件中。您可能希望查看示例here。我认为Ant有很棒的文档。
以下是使用上述链接中的war任务的示例:
<war destfile="myapp.war" webxml="src/metadata/myapp.xml">
<fileset dir="src/html/myapp"/>
<fileset dir="src/jsp/myapp"/>
<lib dir="thirdparty/libs">
<exclude name="jdbc1.jar"/>
</lib>
<classes dir="build/main"/>
<zipfileset dir="src/graphics/images/gifs"
prefix="images"/>
</war>