2011-07-27 3 views
1

J'ai un problème avec mon projet et ant4eclipse. Si je cours le build.xml j'ai reçu ce message:Problème de classpath ant4eclipse

Exception in thread "main" : org.ant4eclipse.lib.core.exception.Ant4EclipseException: Exception 
whilst resolving the classpath entry '[EclipseClasspathEntry: path: 
org.eclipse.jst.j2ee.internal.module.container entryKind: 0 outputLocation: null exported: false]' of project 'MyProject': ' 

No 'jdtClassPathLibrary' defined for library entry 
'org.eclipse.jst.j2ee.internal.module.container'. 
To resolve this problem, please define a 'jdtClassPathLibrary' 
element inside your ant build file: 

ant4eclipse:jdtClassPathLibrary name="org.eclipse.jst.j2ee.internal.module.container" 
fileset dir="..."/ 
/ant4eclipse:jdtClassPathLibrary 

Mais où puis-je trouver les fichiers? Le fichier .classpath vient cette entrée:

classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/ 

Répondre

3

Qu'est-ce que vous avez là dans votre .classpath est une entrée de récipient. C'est une sorte de raccourci qui signifie "inclure tous les pots qui font partie de ce récipient". La définition des fichiers jar qui composent un conteneur est stockée dans un fichier appelé variablesAndContainers.dat, dans le répertoire .metadata de l'espace de travail (ces définitions s'appliquent à l'espace de travail et non à un projet particulier). Pour autant que je sache, ant4eclipse peut lire .classpath files, mais pas le fichier variablesAndContainers.dat (c'était certainement la dernière fois que j'ai utilisé ant4eclipse, il y a quelques années). Cela signifie que bien qu'il puisse trouver que vous avez une entrée classpath le conteneur org.eclipse.jst.j2ee.internal.module.container, il ne peut pas savoir quelle est la définition de ce conteneur.

Ainsi, chaque fois que vous utilisez un conteneur, vous devez fournir une définition de celui-ci à ant4eclipse, sous la forme d'un élément ant4eclipse:jdtClassPathLibrary, exactement comme le message d'erreur indique:

<ant4eclipse:jdtClassPathLibrary name="org.eclipse.jst.j2ee.internal.module.container"> 
    <fileset dir="..."/> 
</ant4eclipse:jdtClassPathLibrary> 

La balise fileset devrait définir les fichiers jar qui composent le conteneur.

+0

Vous êtes mon héros! Les variablesAndContainers.dat contiennent tous les chemins manquants pour le jar :-) –