2
我在Eclipse中有一個web應用程序正常工作。我已經建立了使用下面的Ant腳本戰爭文件,它的工作,直到程序試圖訪問休眠:螞蟻構建的WAR文件中的休眠配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- !DOCTYPE removes the warning:
No grammar constraints (DTD or XML schema) detected for the document.
-->
<!DOCTYPE project>
<project name="Audiclave" default="Deploy" basedir=".">
<property name="src.dir" location="src" />
<property name="build.dir" location="build" />
<property name="dist.dir" location="dist" />
<property name="build.classes" location="build/classes" />
<property name="docs.dir" location="docs" />
<property name="web.dir" location="WebContent" />
<!-- Deletes the existing build, docs and dist directory-->
<target name="clean">
<delete dir="${build.classes}" />
<delete dir="${build.dir}" />
<delete dir="${docs.dir}" />
<delete dir="${dist.dir}" />
</target>
<!-- Creates the build, docs and dist directory-->
<target name="makedir">
<mkdir dir="${build.classes}" />
<mkdir dir="${build.dir}" />
<mkdir dir="${docs.dir}" />
<mkdir dir="${dist.dir}" />
</target>
<path id="compile.classpath">
<fileset dir="${web.dir}/WEB-INF/lib">
<include name="*.jar" />
</fileset>
</path>
<target name="compile" depends="clean,makedir">
<javac srcdir="${src.dir}" debug="true" destdir="${build.classes}">
<classpath refid="compile.classpath" />
</javac>
</target>
<!-- Creates Javadoc -->
<target name="docs" depends="compile">
<javadoc packagenames="src" sourcepath="${src.dir}" destdir="${docs.dir}">
<!-- Define which files/directory should get included, we include all -->
<fileset dir="${src.dir}">
<include name="**" />
</fileset>
</javadoc>
</target>
<target name="Deploy">
<war destfile="${build.dir}/audiClave.war" webxml="${web.dir}/WEB-INF/web.xml">
<!-- Include the compiled classes from the compile target -->
<classes dir="${build.classes}" />
<!-- Include any configuration files (hibernate) -->
<fileset dir="${src.dir}" includes="**/*.xml" />
<!-- Include any web content -->
<fileset dir="${web.dir}" />
<lib dir="${web.dir}/WEB-INF/lib" />
</war>
</target>
</project>
我遇到的問題是Hibernate的配置文件的位置。在我的應用程序,他們是:
audiClave\src
但在部署應用程序的XML文件是:
audiClave
,而我認爲他們需要在:
audiClave\WEB-INF\classes
怎麼辦我發表聲明:
<fileset dir="${src.dir}" includes="**/*.xml" />
將文件發送到WEB-INF \ classes目錄(如果這是他們需要的)。
編輯 改劇本,包括以下內容,它工作正常:
<target name="compile" depends="clean,makedir">
<javac srcdir="${src.dir}" debug="true" destdir="${build.classes}">
<classpath refid="compile.classpath" />
</javac>
<copy todir="${build.classes}">
<fileset dir="${src.dir}" includes="**/*.xml,**/*.properties"/>
</copy>
</target>