【发布时间】:2016-09-12 18:20:47
【问题描述】:
我在 Eclipse Luna 中开发了一个简单的 Web 应用程序。应用的目录结构如下:
项目名称是 SchoolSchedule。
在项目名称下,有 Java Resources、build、WebContent 文件夹和 build.xml 文件。
在Java Resources下,是“src”文件夹,我的Java代码包名在“src”文件夹下。
在WebContent下,有META-INF、WEB-INF和我的jsp文件 在WEB-INF下,有web.xml文件和“lib”目录。
build.xml 位于项目根目录。此 Web 应用程序成功运行并产生预期结果。
我创建了一个 Ant 脚本来编译、构建 WAR 文件并部署 WAR。但是,即使是基本任务也不起作用。我右键单击 build.xml --> run as ... --> Ant build。在控制台中,我可以看到所有回显消息并且没有错误。但是,我没有看到创建任何新目录(我“刷新”了项目。)。没有从 Java 代码编译的“类”文件,更不用说构建和部署这些任务了。
有些事情我没有做对。请帮忙。这是我的 Ant 脚本:
<?xml version="1.0" encoding="UTF-8"?>
<project name="AntWarWebApp" basedir="." >
<echo>Define properties</echo>
<property name="name" value="SchoolSchedule"/>
<property name="src" location="src"/>
<property name="web" location="WebContent"/>
<property name="build" location="build"/>
<property name="classDir" location="${build}/src"/>
<property name="distDir" location="${build}/dist"/>
<property name="warDir" location="${build}/war"/>
<property name="tomcat.webapps" value="C:\apache-tomcat-7.0.70\webapps" />
<echo>time stamp</echo>
<tstamp prefix="build-info">
<format property="current-date" pattern="d-MMMM-yyyy" locale="en" />
<format property="current-time" pattern="hh:mm:ss a z" locale="en" />
<format property="year-month-day" pattern="yyyy-MM-dd" locale="en" />
</tstamp>
<echo>clean up previous build directories</echo>
<target name="clean" description="Delete old build directories">
<delete dir="${distDir}"/>
<delete dir="${warDir}"/>
<delete dir="${classDir}"/>
</target>
<echo>create directories</echo>
<target name="init" depends="clean">
<mkdir dir="${build}"/>
<mkdir dir="${classDir}"/>
<mkdir dir="${warDir}"/>
<mkdir dir="${distDir}"/>
<mkdir dir="${warDir}/WEB-INF"/>
<mkdir dir="${warDir}/WEB-INF/classes"/>
</target>
<echo>start compiling</echo>
<target name="compile" depends="clean, init" description="Compile main
source tree java files">
<javac srcdir="${src}" destdir="${classDir}" />
<classpath>
<fileset dir="${basedir}/WebContent/WEB-INF/lib">
<include name="*" />
</fileset>
</classpath>
</target>
<echo>start building WAR file</echo>
<target name="buildwar" depends="clean, init, compile">
<war basedir="${wardir}" destfile="${distDir}/${name}.war"
webxml="${wardir}/WEB-INF/web.xml">
<webinf dir="${wardir}/WEB-INF/">
<include name="**/*.jar" />
</webinf>
<manifest>
<attribute name="Built-On" value="${build-info.current-date}" />
<attribute name="Built-At" value="${build-info.current-time}" />
</manifest>
</war>
</target>
<echo>end building WAR file</echo>
<target name="deploy" depends="init, compile, buildwar" description="Deploy application">
<delete dir="${tomcat.webapps}/*.war" />
<echo>copy WAR file to Tomcat deploy directory</echo>
<copy file="${distdir}/*.war" todir="${tomcat.webapps}" />
</target>
</project>
【问题讨论】:
-
很抱歉 - Java 资源是 Eclipse 特定的。项目名下有src、build、WebContent文件夹,以及build.xml文件。