2011-09-26 3 views
0

J'ai un projet web dynamique simple en eclipse (helios). En cela j'ai un jsp qui demande uname et mot de passe et il va à une servlet qui imprimera juste l'uname. J'utilise Ant pour construire la guerre et déployer.erreur de construction en eclipse (helios) pour projet web dynamique

Je l'ai fait ci-dessous les paramètres de chemin:

  1. ANT_HOME = C: \ apache-ant-1.7.0
  2. JAVA_HOME = C:. \ Java \ jdk1.6
  3. classpath =; % JAVA_HOME% \ lib;% ANT_HOME% \ lib
  4. path =% RacineSystème% \ system32;% RacineSystème%;% RacineSystème% \ System32 \ Wbem;% JAVA_HOME% \ bin;% Chemin%;% ANT_HOME% \ bin

tomcat est installé à c: \ tomcat

Je fichiers suivants dans WEB-INF \ lib

jstl-1.1.2.jar, jstl.jar, servlet-api.jar, standard 1.0.6.jar

Maintenant, quand j'essaie de faire la construction ant il me donne des erreurs de compilation, les erreurs sont les suivantes: package javax.servlet.http n'existe pas, le package javax.servlet.http n'existe pas, package javax.servlet. http n'existe pas et ainsi de suite

Quelqu'un peut-il m'aider avec le problème? Est-ce un problème avec le chemin de classe ou il n'est pas capable de trouver le pot?

Merci

fichier Build

<property name="build.dir" value="build" /> 
<property name="src.dir" value="src" /> 
<property name="dist.dir" value="c:\tomcat\webapps" /> 
<property name="jardir.dir" value="C:\tomcat\common\lib" /> 

<target name="clean" description="Removes temporary directories"> 
    <delete dir="${build.dir}" /> 
    <delete dir="bin" failonerror="false" /> 
    <delete dir="${dist.dir}/jar" failonerror="false" /> 
    <delete dir="${dist.dir}/FirstTestApp" failonerror="false"/> 
</target> 

<target name="init" description="Creates temporary directories"> 
    <mkdir dir="${build.dir}/classes" /> 
    <mkdir dir="${dist.dir}" /> 
</target> 

<target name="compile" depends="init" description="compiles files"> 
    <javac debug="true" deprecation="true" 
    destdir="${build.dir}/classes" srcdir="${src.dir}" 
    verbose="true" classpath="${jardir.dir}" /> 
</target> 

<target name="war" depends="compile"> 
    <war destfile="${dist.dir}\FirstTestApp.war" basedir="${build.dir}" webxml="web\WEB-INF\web.xml"> 

     <lib dir="web/WEB-INF/lib" includes ="**/*.jar"/>     

     <!--<fileset dir="web/jsp" includes="*.jsp" />--> 

     <fileset dir="web" includes="js/**,images/**,css/**,jsp/**" /> 
    </war> 
</target> 

Répondre

1

Ant ne sait rien sur les projets web. Il n'inclut pas automatiquement les fichiers jars dans WEB-INF/lib dans le classpath. Vous devez inclure explicitement tous les fichiers jars requis dans le chemin de classe utilisé par la tâche javac pour compiler vos classes. Notez que au moins servlet-api.jar ne devrait pas être dans WEB-INF/lib, puisque c'est évidemment dans le classpath root de tomcat.

+0

J'ai supprimé servlet-api.jar de WEB-INF/lib et vérifié le chemin de compilation avec les fichiers c: \ tomcat \ common \ lib. Après cela j'ai essayé de refaire la construction mais le même problème persiste. – shiny

+0

Ant et éclipse sont deux choses très différentes. Si vous construisez avec une fourmi, le chemin de compilation d'Eclipse ne sera pas obtenu par magie. Comme je l'ai écrit dans ma réponse, vous devez définir un chemin de classe explicite dans la tâche javac de votre fichier de construction ant. Montrez-nous votre fichier de construction ant. –

+0

comme vous l'avez dit j'ai ajouté le jar dans le classpath pour la commande javac dans build.xml, mais ça ne marche toujours pas. – shiny

Questions connexes