2016-09-12 4 views
0

Ich habe eine einfache Web-Anwendung in der Eclipse Luna entwickelt. Die Verzeichnisstruktur der Anwendung lautet wie folgt:Fehlende Ausgabedateien nach dem Ausführen von Ant-Skript von Eclipse

Projektname ist SchoolSchedule.

Unter dem Projektnamen befinden sich Java-Ressourcen, Build, WebContent-Ordner und die Datei build.xml.

Unter Java-Ressourcen ist es der Ordner "src" und mein Java-Code-Paketname befindet sich im Ordner "src".

Unter dem WebContent gibt es META-INF, WEB-INF und meine JSP-Dateien Unter dem WEB-INF, gibt es web.xml-Datei und das "lib" -Verzeichnis.

Die Datei build.xml befindet sich im Projektstammverzeichnis. Diese Webanwendung wird erfolgreich ausgeführt und liefert die erwarteten Ergebnisse.

Ich erstellte ein Ant-Skript zum Kompilieren, Erstellen einer WAR-Datei und Bereitstellen der WAR. Aber selbst die grundlegende Aufgabe funktioniert nicht. Ich klicke mit der rechten Maustaste auf die Datei build.xml -> run as ... -> Ant build. In der Konsole kann ich alle Echonachrichten und keinen Fehler sehen. Ich sehe jedoch keine neuen Verzeichnisse erstellt (Ich "aktualisiere" das Projekt.). Keine "Klassen" -Dateien, die aus dem Java-Code kompiliert wurden und nicht zu erwähnen, dass diese Aufgaben erstellt und bereitgestellt werden.

Da ist etwas, das ich nicht richtig verstanden habe. Bitte helfen Sie. Hier ist meine Ant-Skript:

<?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> 
+0

Es tut mir leid - die Java-Ressourcen sind Eclipse-spezifisch. Unter dem Projektnamen befinden sich src, build, WebContent-Ordner und die Datei build.xml. – Johaness

Antwort

0

Bist du nicht soll eine Art von Top-Level-Element haben

<project> 
.... 
</project> 

um das alles?

+0

Ja, ich habe das Top-Level-Element. Tag wurde nicht angezeigt. Wie auch immer, ich habe eines meiner Probleme gelöst: – Johaness

+0

Entschuldigung, es wird gepostet, ohne dass ich mit dem Tippen fertig bin. Das Problem war, dass das aktuelle Arbeitsverzeichnis beim Ausführen des Skripts nicht das war, was ich mir erhofft hatte. musste ich ändern: <= property name = "src" location "src" /> zu Johaness

Verwandte Themen