2010-11-29 60 views
0

我在ant构建文件中构建路径时遇到问题。由于gwt中的错误。我创建了1个gwt包(com.google.gwt.user.client.ui)到我的项目&中复制了MenuBar类,我修改了Menubar类的代码来解决我们的问题。它的工作很棒。即使我也可以从eclipse编译它。ANT为项目src&gwt jars构建路径优先

但问题是,当我运行ant构建文件。菜单栏类取自gwt jar &抛出异常,表示“未解决的方法”。我想ant build从我的项目包中取出MenuBar类而不是gwt jar。

请帮我解决这个问题。

下面是build.xml文件内容

- > - > - >

<property name="main-class" value="com.my.project.main.Main" /> 
<!-- defbizserver libraries 
<path id="libraries"> 
    <fileset dir="./libs"> 
     <include name="*.jar"/> 
    </fileset> 
</path>--> 
<!-- accounter server libraries--> 
<!--<path id="acclibraries"> 
    <pathelement location="${gwt.sdk}/gwt-user.jar"/> 
    <fileset dir="${gwt.sdk}" includes="gwt-dev*.jar"/> 
    <fileset dir="${acc.dir}"> 
     <include name="**/*.jar"/> 
    </fileset> 
    <pathelement location="${acc.dir}/src"/> 

</path>--> 
<!-- gwt libraries--> 
<path id="gwtlibraries"> 

    <fileset dir="${bizantragui.dir}"> 
     <include name="**/**.jar" /> 
    </fileset> 
    <fileset dir="./libs"> 
     <include name="*.jar" /> 
    </fileset> 
    <fileset dir="${acc.dir}"> 
     <include name="**/*.jar" /> 
    </fileset> 
    <pathelement location="${src.dir}" /> 
    <pathelement location="${acc.dir}/src" /> 
    <pathelement location="${gwt.sdk}/gwt-user.jar" /> 
    <fileset dir="${gwt.sdk}" includes="gwt-dev*.jar" /> 
    <pathelement location="${bizantragui.dir}/src" /> 
    <!--<pathelement location="${comet.dir}/src" />--> 

    <!--<pathelement location="${network.dir}/src" />--> 
</path> 
<fileset file="webapp" id="webapp"> 
    <exclude name=".svn" /> 
</fileset> 


<target name="clean"> 
    <delete dir="${build.dir}" /> 
    <delete defaultExcludes="false"> 
     <fileset dir="./webapp/myprouject" /> 
    </delete> 

</target> 

<!--Compiling--> 
<target name="compile" depends="check-gwtpath" if="gwt.present"> 
    <mkdir dir="${classes.dir}" /> 
    <mkdir dir="${libs.dir}" /> 
    <copy todir="${classes.dir}"> 
     <fileset dir="${acc.dir}/war/WEB-INF/classes"> 
      <include name="**/**" /> 
     </fileset> 
    </copy> 
    <!--<javac srcdir="${comet.dir}/src" destdir="${classes.dir}" classpathref="gwtlibraries" debug="true" />--> 
    <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="gwtlibraries" debug="true" /> 
    <!--<javac srcdir="${network.dir}" destdir="${classes.dir}" classpathref="gwtlibraries" debug="true" />--> 
    <!--<javac srcdir="${acc.dir}/src" destdir="${classes.dir}" classpathref="gwtlibraries" debug="true" />--> 

</target> 
<target name="gwtcompile" description="GWT COMPILATION"> 
    <mkdir dir="./webapp" /> 
    <java classpathref="gwtlibraries" fork="true" classname="com.google.gwt.dev.Compiler"> 
     <classpath> 
      <pathelement location="${bizantragui.dir}/src" /> 
      <pathelement location="${acc.dir}/src" /> 
     </classpath> 
     <jvmarg value="-Xmx1024m" /> 
     <arg line="-war ./webapp/" /> 
     <arg line="-style OBF" /> 
     <arg line="com.bizantra.Bizantra"> 
     </arg> 
     <arg line="-localWorkers 2" /> 
    </java> 
</target> 


<target name="makewebapp"> 
    <foreach target="compress_file" param="file"> 
     <path> 
      <fileset dir="./webapp/bizantra" id="outputhtml"> 
       <include name="*.cache.js" /> 
       <include name="**/*.js" /> 
      </fileset> 
     </path> 
    </foreach> 
</target> 

<target name="compress_file" description="Compress file and make gz file"> 
    <gzip src="${file}" zipfile="${file}.gz" /> 
</target> 
<target name="setup" depends="compile,gwtcompile,makewebapp"> 
    <mkdir dir="${classes.dir}" /> 
    <!-- <copy todir="${classes.dir}"> 
     <fileset dir="./"> 
      <exclude name="*xml" /> 
      <exclude name="build.xml" /> 
     </fileset> 
     <fileset dir="${acc.dir}/src"> 
      <exclude name="*xml" /> 
     </fileset> 
    </copy>--> 
    <!--<copy todir="${classes.dir}/webapp/images"> 
     <fileset dir="${bizantragui.dir}/war/images"> 
      <include name="**/*.*" /> 
     </fileset> 
     <fileset dir="${acc.dir}/war/images"> 
      <include name="**/*.*" /> 
     </fileset> 

    </copy>--> 
    <!--<copy todir="${classes.dir}/webapp"> 
     <fileset dir="${network.dir}/war"> 

      <include name="**/*.html" /> 
      <include name="**/*.jsp" /> 
     </fileset> 
    </copy>--> 

    <mkdir dir="${classes.dir}/webapp" /> 

    <mkdir dir="${classes.dir}/mapping" /> 
    <copy todir="${classes.dir}/mapping"> 
     <fileset dir="./mapping"> 
     </fileset> 
    </copy> 
    <!--<copy todir="${classes.dir}/networkmapping"> 
     <fileset dir="./networkmapping"> 
     </fileset> 
    </copy>--> 
    <copy todir="${classes.dir}"> 
     <fileset dir="src/"> 
      <include name="**/*.properties" /> 
     </fileset> 
     <fileset dir="${acc.dir}/src"> 
      <include name="**/*.properties" /> 
     </fileset> 
    </copy> 
    <copy todir="${libs.dir}"> 
     <fileset dir="./"> 
      <include name="*.jar" /> 
     </fileset> 
    </copy> 
    <jar destfile="${libs.dir}/${ant.project.name}.jar" basedir="${classes.dir}" index="true"> 
     <manifest> 
      <attribute name="Main-Class" value="${main-class}" /> 
     </manifest> 
    </jar> 
    <delete dir="${classes.dir}"> 
    </delete> 
</target> 
<!--tar Setup--> 
<target name="linux-setup-tar" depends="setup"> 
    <copy todir="${setup.dir}/tar"> 
     <fileset dir="./"> 
      <include name="config/**" /> 
      <include name="libs/**" /> 
     </fileset> 
    </copy> 
    <copy todir="${linuxtar-lib.dir}"> 
     <fileset dir="${libs.dir}"> 
     </fileset> 
    </copy> 
    <mkdir dir="${tmp.dir}" /> 
    <copy todir="${tmp.dir}"> 
     <fileset dir="${setup.dir}/tar"> 
      <exclude name=".svn/*" /> 
     </fileset> 
    </copy> 
    <chmod file="${tmp.dir}/collaberserver" perm="+x" /> 
    <chmod file="${tmp.dir}/collaberserverd" perm="+x" /> 
    <tar destfile="${output.dir}/bizantra-1.0.tar" basedir="${tmp.dir}" /> 
    <gzip destfile="${output.dir}/bizantra-1.0.tar.gz" src="${output.dir}/bizantra-1.0.tar" /> 
    <delete dir="${tmp.dir}" /> 
    <delete file="${output.dir}/bizantra-1.0.tar" /> 
</target> 

<!--Windows Setup--> 
<target name="win-setup" depends="setup"> 
    <copy todir="${setup.dir}/windows"> 
     <fileset dir="./"> 
      <include name="libs/**" /> 
     </fileset> 
    </copy> 
    <copy todir="${win-lib.dir}"> 
     <fileset dir="${libs.dir}"> 
      <include name="*.jar" /> 
     </fileset> 
    </copy> 
    <exec command="makensis ${setup.dir}/windows/BizantraSetup.nsi"> 
    </exec> 
    <copy todir="${output.dir}"> 
     <fileset dir="${setup.dir}/windows"> 
      <include name="BizantraSetupWithJRE.exe" /> 
     </fileset> 
    </copy> 
    <delete> 
     <fileset dir="${setup.dir}/windows"> 
      <include name="BizantraSetupWithJRE.exe" /> 
     </fileset> 
    </delete> 

    <move todir="${output.dir}"> 
     <fileset dir="${setup.dir}/windows"> 
      <include name="Bizantra.exe" /> 
     </fileset> 
    </move> 
</target> 

<target name="clean-setup" depends="clean,setup" /> 
<target name="setupandclean" depends="clean-setup,linux-setup-tar,win-setup" /> 

+0

请帮我一下...................... – 2010-11-29 11:57:21

回答

0

你需要让你的菜单栏的版本是首次发现前面有源在classpath比GWT源。

看起来你在你的GWT编译任务中使用了classpathref属性和嵌套的classpath元素。嵌套的类路径显得多余。我并不是说这是你问题的原因,但我建议你花一些时间整理类路径声明。我想你会在这个过程中解决问题。如果没有,至少会更容易看到你的类路径中发生了什么。