IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ANT Java Discussion :

Build Ok sous eclipse - plante sous Ant


Sujet :

ANT Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 65
    Par défaut Build Ok sous eclipse - plante sous Ant
    Bonjour,

    J'ai un projet JavaEE (java 1.6.0.2) qui compile et s'exécute sans problème sous eclipse 3.3 (javaEE / JSP / JSTL / tomcat) et lors de la compilation sous Ant il me donne une serie d'erreurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [javac] F:\project\eServices\src\com\adpclr\data\maintenance\load\data\LoadList.java:213: type parameter com.adpclr.data.maintenance.load.common.filemask.Filemask<? extends com.adpclr.data.maintenance.load.common.filenameinfo.FilenameInfo<? extends com.adpclr.data.maintenance.load.common.datainfo.DataInfo>> is not within its bound
    [javac]         List<FileDescription<? extends DataInfo, Filemask<? extends FilenameInfo<? extends DataInfo>>>> descriptionList = treeLoadList.getFileById(entry.getValue());
    [javac]                                                          ^
    Ant compile avec la même version de java...

    Quand je fais une recherche sur le type d'erreur (lié au générique : is not within its bound), je ne trouve rien de très très probant.

    La ligne qui pose probleme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<FileDescription<? extends DataInfo, Filemask<? extends FilenameInfo<? extends DataInfo>>>> descriptionList = treeLoadList.getFileById(entry.getValue());
    La déclaration de treeLoadList.getFileById :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public List<FileDescription<? extends DataInfo, Filemask<? extends FilenameInfo<? extends DataInfo>>>> getFileById(List<Integer> fileListId){
    La déclaration de la tache est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <javac srcdir="${src.dir}" destdir="${temp}/WEB-INF/classes" debug="on" deprecation="off" optimize="off" source="1.6" target="1.6" fork="true">
      <exclude name="**/*Test.java"/>
      <classpath path="${classpath}"/>
    </javac>
    J'ai ajouté cela à la tache qui lance la compilation avec javac :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <echo message="Java : ${ant.java.version}"/>
    <echo message="java home = ${env.JAVA_HOME}"/>
    <echo message="${classpath}"/>
    Passage qui me renvoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    [echo] eServices Building Ant file
    [echo] Java : 1.6
    [echo] java home = D:\java\1.6.0.02\
    [echo] D:\apache\tomcat\6.0.13\lib\annotations-api.jar
           D:\apache\tomcat\6.0.13\lib\catalina-ant.jar
           D:\apache\tomcat\6.0.13\lib\catalina-ha.jar
           D:\apache\tomcat\6.0.13\lib\catalina-tribes.jar
           D:\apache\tomcat\6.0.13\lib\catalina.jar
           D:\apache\tomcat\6.0.13\lib\el-api.jar
           D:\apache\tomcat\6.0.13\lib\jasper-el.jar
           D:\apache\tomcat\6.0.13\lib\jasper-jdt.jar
           D:\apache\tomcat\6.0.13\lib\jasper.jar
           D:\apache\tomcat\6.0.13\lib\jsp-api.jar
           D:\apache\tomcat\6.0.13\lib\servlet-api.jar
           D:\apache\tomcat\6.0.13\lib\tomcat-coyote.jar
           D:\apache\tomcat\6.0.13\lib\tomcat-dbcp.jar
           D:\apache\tomcat\6.0.13\lib\tomcat-i18n-es.jar
           D:\apache\tomcat\6.0.13\lib\tomcat-i18n-fr.jar
           D:\apache\tomcat\6.0.13\lib\tomcat-i18n-ja.jar
           F:\project\eServices\web\WEB-INF\lib\commons-beanutils.jar
           F:\project\eServices\web\WEB-INF\lib\commons-collections-3.2.jar
           F:\project\eServices\web\WEB-INF\lib\commons-configuration-1.5.jar
           F:\project\eServices\web\WEB-INF\lib\commons-dbcp-1.2.2.jar
           F:\project\eServices\web\WEB-INF\lib\commons-fileupload-1.2.jar
           F:\project\eServices\web\WEB-INF\lib\commons-io-1.3.2.jar
           F:\project\eServices\web\WEB-INF\lib\commons-lang-2.3.jar
           F:\project\eServices\web\WEB-INF\lib\commons-logging-1.1.jar
           F:\project\eServices\web\WEB-INF\lib\commons-logging-adapters-1.1.jar
           F:\project\eServices\web\WEB-INF\lib\commons-logging-api-1.1.jar
           F:\project\eServices\web\WEB-INF\lib\commons-net-1.4.1.jar
           F:\project\eServices\web\WEB-INF\lib\commons-pool-1.3.jar
           F:\project\eServices\web\WEB-INF\lib\iText-2.0.7.jar
           F:\project\eServices\web\WEB-INF\lib\jcommon-1.0.10.jar
           F:\project\eServices\web\WEB-INF\lib\jep.2.3.1.jar
           F:\project\eServices\web\WEB-INF\lib\jfreechart-1.0.6.jar
           F:\project\eServices\web\WEB-INF\lib\jstl.jar
           F:\project\eServices\web\WEB-INF\lib\junit.jar
           F:\project\eServices\web\WEB-INF\lib\log4j-1.2.8.jar
           F:\project\eServices\web\WEB-INF\lib\mail-1.4.jar
           F:\project\eServices\web\WEB-INF\lib\poi-3.0.1-FINAL-20070705.jar
           F:\project\eServices\web\WEB-INF\lib\poi-contrib-3.0.1-FINAL-20070705.jar
           F:\project\eServices\web\WEB-INF\lib\poi-scratchpad-3.0.1-FINAL-20070705.jar
           F:\project\eServices\web\WEB-INF\lib\postgresql-8.2-505.jdbc4.jar
           F:\project\eServices\web\WEB-INF\lib\standard.jar
    Help !!!

    Merci de votre aide.

  2. #2
    Membre confirmé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 65
    Par défaut
    Voila ce que j'ai trouvé de plus approchant : http://marc.info/?l=ant-user&m=115956039828139&q=raw
    Mais, en effaçant les *.class : toujours la même erreur.

    Un avis ?



    Merci

    Cdlt

  3. #3
    Membre confirmé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 65
    Par défaut
    Et...

    ... voila !!

    L'astuce est de ne pas forcer Eclipse à utiliser javac, mais forcer ant à utiliser le compilo d'eclipse à la place du compilateur par défaut de sun : javac.

    Il faut simplement ajouter la directive -Dbuild.compiler=org.eclipse.jdt.core.JDTCompilerAdapter aux arguments de ant.

    ou si vous pouvez modifier le script de build, il faut faire cela :
    1. Créer une tache afin de fixer le type de compilateur
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
        <target name="configure.eclipse" if="eclipse.running">
          <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
        </target>
    2. Appeler cette tache avant toute autre avec :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <antcall target="configure.eclipse"/>
    Pour info, nous avons trouvé ce qui n'allait pas dans le code, c'est dans la déclaration des génériques, il semblerait que le compilateur d'Eclipse soit plus performant pour faire les link de classes que javac ou qu'il soit plus permitif.

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ant sous Eclipse
    Par gilles81 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 10/06/2009, 05h46
  2. Réponses: 1
    Dernier message: 18/02/2009, 11h30
  3. ANT et RMIC "NoClassDefFoundError" sous Eclipse
    Par tonio_hawk dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 10/02/2009, 13h57
  4. [ANT - Eclipse] Import de projet existant sous Eclipse
    Par eXiaNazaire dans le forum ANT
    Réponses: 1
    Dernier message: 17/04/2007, 14h36
  5. build path sous Eclipse Maven
    Par babalastar dans le forum Maven
    Réponses: 1
    Dernier message: 11/01/2007, 09h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo