2017-08-30 158 views
3

我是Ant和GWT的初學者,我正在通過以下GWT頁面上提到的步驟創建GWT中的新Ant項目:webAppCreator下的創建Ant項目部分。我能夠成功創建這個項目,但我得到了錯誤build.xml不存在!在命令提示符日誌中。即使按照此處提及的所有步驟完成後,我也無法解決此問題:ant build.xml file doesn't existant build.xml不存在。構建失敗

這是我的命令提示符日誌:

C:\Users\TEST>webAppCreator -junit D:\SELENIUM\junit-4.10.jar -out foo com.example.foo.Foo 
Generating from templates: [sample, eclipse, readme, _eclipse-test, _sample-test, ant] 
Created directory foo 
Created directory foo\src 
Created directory foo\src\com\example\foo 
Created directory foo\src\com\example\foo\client 
Created directory foo\src\com\example\foo\server 
Created directory foo\src\com\example\foo\shared 
Created directory foo\test 
Created directory foo\test\com\example\foo 
Created directory foo\war 
Created directory foo\war\WEB-INF 
Created directory foo\test\com\example\foo\client 
Created file foo\src\com\example\foo\Foo.gwt.xml 
Created file foo\src\com\example\foo\client\GreetingService.java 
Created file foo\src\com\example\foo\client\GreetingServiceAsync.java 
Created file foo\src\com\example\foo\client\Foo.java 
Created file foo\src\com\example\foo\server\GreetingServiceImpl.java 
Created file foo\src\com\example\foo\shared\FieldVerifier.java 
Created file foo\war\WEB-INF\web.xml 
Created file foo\war\Foo.css 
Created file foo\war\Foo.html 
Created file foo\war\favicon.ico 
Created file foo\.classpath 
Created file foo\.project 
Created file foo\Foo.launch 
Created file foo\README.txt 
Created file foo\FooSuite-dev.launch 
Created file foo\FooSuite-prod.launch 
Created file foo\test\com\example\foo\FooJUnit.gwt.xml 
Created file foo\test\com\example\foo\FooSuite.java 
Created file foo\test\com\example\foo\client\FooTest.java 
Created file foo\build.xml 

C:\Users\TEST>ant build 
Buildfile: build.xml does not exist! 
Build failed 

C:\Users\TEST>ant devmode 
Buildfile: build.xml does not exist! 
Build failed 

這裏是我的build.xml文件:

<?xml version="1.0" encoding="utf-8" ?> 
<project name="Foo" default="build" basedir="."> 
    <!-- Arguments to gwtc and devmode targets --> 
    <property name="gwt.args" value="" /> 

    <!-- Configure path to GWT SDK --> 
    <property name="gwt.sdk" location="D:/GWT/gwt-2.8.1/gwt-2.8.1" /> 

    <path id="project.class.path"> 
    <pathelement location="war/WEB-INF/classes"/> 
    <pathelement location="${gwt.sdk}/gwt-user.jar"/> 
    <pathelement location="${gwt.sdk}/gwt-dev.jar"/> 
    <pathelement location="${gwt.sdk}/validation-api-1.0.0.GA.jar"/> 
    <pathelement location="${gwt.sdk}/validation-api-1.0.0.GA-sources.jar"/> 
    <fileset dir="war/WEB-INF/lib" includes="**/*.jar"/> 
    <!-- Add any additional non-server libs (such as JUnit) here --> 
    </path> 

    <target name="libs" description="Copy libs to WEB-INF/lib"> 
    <mkdir dir="war/WEB-INF/lib" /> 
    <copy todir="war/WEB-INF/lib" file="${gwt.sdk}/gwt-servlet.jar" /> 
    <copy todir="war/WEB-INF/lib" file="${gwt.sdk}/gwt-servlet-deps.jar" /> 
    <!-- Add any additional server libs that need to be copied --> 
    </target> 

    <target name="javac" depends="libs" description="Compile java source to bytecode"> 
    <mkdir dir="war/WEB-INF/classes"/> 
    <javac srcdir="src" includes="**" encoding="utf-8" 
     destdir="war/WEB-INF/classes" 
     source="1.7" target="1.7" nowarn="true" 
     debug="true" debuglevel="lines,vars,source"> 
     <classpath refid="project.class.path"/> 
    </javac> 
    <copy todir="war/WEB-INF/classes"> 
     <fileset dir="src" excludes="**/*.java"/> 
    </copy> 
    </target> 

    <target name="gwtc" depends="javac" description="GWT compile to JavaScript (production mode)"> 
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler" maxmemory="512m"> 
     <classpath> 
     <pathelement location="src"/> 
     <path refid="project.class.path"/> 
     </classpath> 
     <arg line="-war"/> 
     <arg value="war"/> 
     <!-- Additional arguments like -style PRETTY or -logLevel DEBUG --> 
     <arg line="${gwt.args}"/> 
     <arg value="com.example.foo.Foo"/> 
    </java> 
    </target> 

    <target name="devmode" depends="javac" description="Run development mode (pass -Dgwt.args=-nosuperDevMode to fallback to classic DevMode)"> 
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode" maxmemory="1g"> 
     <classpath> 
     <pathelement location="src"/> 
     <path refid="project.class.path"/> 
     <pathelement location="${gwt.sdk}/gwt-codeserver.jar"/> 
     </classpath> 
     <arg value="-startupUrl"/> 
     <arg value="Foo.html"/> 
     <arg line="-war"/> 
     <arg value="war"/> 
     <!-- Additional arguments like -style PRETTY, -logLevel DEBUG or -nosuperDevMode --> 
     <arg line="${gwt.args}"/> 
     <arg value="com.example.foo.Foo"/> 
     <arg value="com.example.foo.Foo"/> 
    </java> 
    </target> 

    <target name="javac.tests" depends="javac" description="Compiles test code"> 
    <javac srcdir="test" includes="**" encoding="utf-8" 
     source="1.7" target="1.7" nowarn="true" 
     destdir="war/WEB-INF/classes" 
     debug="true" debuglevel="lines,vars,source"> 
     <classpath location="D:\SELENIUM\junit-4.10.jar"/> 
     <classpath refid="project.class.path"/> 
    </javac> 
    </target> 

    <target name="test.dev" depends="javac.tests" description="Run development mode tests"> 
    <mkdir dir="reports/htmlunit.dev" /> 
    <junit fork="yes" printsummary="yes" haltonfailure="yes" maxmemory="256m"> 
     <sysproperty key="gwt.args" value="-devMode -logLevel WARN -war www-test" /> 
     <sysproperty key="java.awt.headless" value="true" /> 
     <classpath> 
     <pathelement location="src" /> 
     <pathelement location="test" /> 
     <path refid="project.class.path" /> 
     <pathelement location="D:/GWT/gwt-2.8.1/gwt-2.8.1/validation-api-1.0.0.GA.jar" /> 
     <pathelement location="D:/GWT/gwt-2.8.1/gwt-2.8.1/validation-api-1.0.0.GA-sources.jar" /> 
     <pathelement location="D:\SELENIUM\junit-4.10.jar" /> 
     </classpath> 
     <batchtest todir="reports/htmlunit.dev" > 
     <fileset dir="test" > 
      <include name="**/*Suite.java" /> 
     </fileset> 
     </batchtest> 
     <formatter type="plain" /> 
     <formatter type="xml" /> 
    </junit> 
    </target> 

    <target name="test.prod" depends="javac.tests" description="Run production mode tests"> 
    <mkdir dir="reports/htmlunit.prod" /> 
    <junit fork="yes" printsummary="yes" haltonfailure="yes" maxmemory="256m"> 
     <sysproperty key="gwt.args" value="-logLevel WARN -war www-test" /> 
     <sysproperty key="java.awt.headless" value="true" /> 
     <classpath> 
     <pathelement location="src" /> 
     <pathelement location="test" /> 
     <path refid="project.class.path" /> 
     <pathelement location="D:/GWT/gwt-2.8.1/gwt-2.8.1/validation-api-1.0.0.GA.jar" /> 
     <pathelement location="D:/GWT/gwt-2.8.1/gwt-2.8.1/validation-api-1.0.0.GA-sources.jar" /> 
     <pathelement location="D:\SELENIUM\junit-4.10.jar" /> 
     </classpath> 
     <batchtest todir="reports/htmlunit.prod" > 
     <fileset dir="test" > 
      <include name="**/*Suite.java" /> 
     </fileset> 
     </batchtest> 
     <formatter type="plain" /> 
     <formatter type="xml" /> 
    </junit> 
    </target> 

    <target name="test" description="Run development and production mode tests"> 
    <antcall target="test.dev" /> 
    <antcall target="test.prod" /> 
    </target> 

    <target name="build" depends="gwtc" description="Build this project" /> 

    <target name="war" depends="build" description="Create a war file"> 
    <zip destfile="Foo.war" basedir="war"/> 
    </target> 

    <target name="clean" description="Cleans this project"> 
    <delete dir="war/WEB-INF/classes" failonerror="false" /> 
    <delete dir="war/foo" failonerror="false" /> 
    </target> 

</project> 

是否有人可以幫我解決這個問題?

回答

3

看來你的build.xml是在一個foo文件夾中創建的。 看到以下輸出:

創建文件foo \ build.xml文件

轉到foo目錄,然後運行ant

2

C:\用戶\ TEST> Ant構建

構建文件:build.xml文件不存在!

構建失敗

這意味着建立文件是TEST目錄中沒有。檢查你的日誌,你在:\Users\TEST\foo有一個。所以你應該導航到foo比通過終端嘗試命令多一次。