2009-07-06 6 views
1

Lorsque j'ai donné la fourmi myproject-war, j'ai l'erreur suivante. Quelqu'un peut-il aider s'il vous plaît?Référence de classe manquante dans build.xml

BUILD FAILED 
C:\Documents and Settings\personal\Desktop\project files\myproject\bu 
ild.xml:167: taskdef A class needed by class org.apache.jasper.JspC cannot be fo 
und: javax/servlet/ServletContext 

Répondre

0

Vous devez ajouter un JAR contenant javax.servlet.ServletContext à votre CLASSPATH.

0

Vérifiez votre manifeste et votre chemin de classe. Ils pourraient ne pas inclure le pot nécessaire.

Par exemple: classpathref="some_classpath" pourrait aller dans la balise javac, où some_classpath égale

<path id="some_classpath"> 
    <pathelement location="${someJar.jar}"/> 
    <pathelement location="${another.jar}"/> 
</path> 

En outre, vous le manifeste du pot doit avoir quelque chose comme:

<manifest> 
    <attribute name="Class-Path" value="../lib/another.jar ../lib/someJar.jar"/> 
</manifest> 
+0

salut c'est mon tag où j'ai trouvé jspc. pourriez-vous aider plz \t \t \t \t \t \t \t \t \t \t \t \t \t

\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t –

0

Dans les nouvelles tâches de fourmi peut être définie (taskdef). Certaines de ces tâches nécessitent que vous mettiez java-libraries dans le classpath de ant. Cela peut être réalisé en copiant le jar approprié dans le répertoire lib/ext de l'installation de fourmis.

0

Vous avez besoin d'un jar dans votre chemin de classe pour la cible qui exécute JspC et qui contient javax.servlet.ServletContext. Ainsi, par exemple, si vous utilisez Tomcat, servlet-api.jar est peut-être le bocal que vous recherchez. Si vous faites GWT, gwt-user.jar pourrait être le jar. Cela dépend de votre contexte.

+0

j'ai servlet.api.jar dans le dossier lib de mon projet –

+0

en outre, vous devez vous assurer que ce ja r est ajouté à votre définition de chemin de classe dans votre fichier build.xml pour la cible qui appelle JspC. –

0

Vous utilisez des tâches Ant avec des dépendances non prises en charge dans l'API principale.

De l'documentation:

Ant prend en charge un certain nombre d'options tâches. Une tâche facultative est une tâche qui nécessite généralement une bibliothèque externe pour fonctionner. Les tâches optionnelles sont regroupées avec les tâches Ant principales .

Utilisez le manual pour localiser les tâches facultatives et ajouter le nécessaire dependencies au classpath.

0

Ant ne prend pas d'espaces dans le chemin de classe.

Questions connexes