2010-11-29 50 views
0

J'ai un problème avec le chemin de compilation dans le fichier de construction ant. en raison d'un bug dans gwt. J'ai créé 1 paquet gwt (com.google.gwt.user.client.ui) dans mon projet & copié classe MenuBar, j'ai modifié le code de la classe Menubar pour résoudre notre problème. son travail génial. même je peux le compiler à partir d'éclipse aussi.Priorité du chemin de génération ANT pour les fichiers src & gwt jars du projet

Mais le problème est que quand je lance le fichier de construction ant. Barre de menu prise de gwt jar & jette une exception que "méthodes non résolues". Je veux construire Ant prend la classe MenuBar de mon paquet de projet au lieu de gwt jar.

S'il vous plaît aidez-moi ce qu'il faut faire pour cela.

est Ci-dessous le contenu du fichier 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

S'il vous plaît, quelqu'un m'aide ...................... –

+0

Est-ce que votre paquet com.google.gwt.use.client.ui se trouve dans votre chemin/src ? Pouvez-vous copier et coller votre fichier ANT build.xml? Pouvez-vous copier et coller la pile de la construction ANT? Cela aiderait à trouver le problème;) –

+0

Oui, bien sûr. Je vais mettre à jour ma question avec le fichier xml ant build. stracktrace de la construction ant est la méthode CloseAll() est introuvable dans le MenuBar. c'est une exception de compilateur juste parce que j'ai modifié la classe de barre de menu et ai ajouté la méthode de CloseAll pour mon but. Ant Builds prend la barre de menu Classe de GWT jar au lieu de mon projet src/gwtpackge/MenuBar –

Répondre

0

Vous devez avoir la source plus tôt dans la classpath que la source GWT afin que votre version de MenuBar se trouve d'abord.

Il semble que vous utilisiez à la fois un attribut classpathref et un élément classpath imbriqué dans votre tâche de compilation GWT. Le chemin de classe imbriqué semble redondant. Je ne dis pas que c'est nécessairement la cause de votre problème, mais je suggère que vous passiez du temps à ranger les déclarations classpath. Je suppose que vous allez résoudre le problème dans le processus. Sinon, il sera au moins plus facile de voir ce qui se passe dans votre classpath.