2014-06-15 1 views
2

J'ai réussi à mettre en place mon projet Jboss WTP dans maven. Faites un clic droit sur le projet> Exécuter en tant que> Exécuter sur le serveur (Jboss 7) fonctionne très bien. Mais si j'aller de l'avant et supprimer le répertoire target et essayez ensuite d'exécuter compile objectif, il échoue avec les dépendances manquantes:Projet Eclipse maven jboss - que dois-je ajouter au fichier pom.xml pour que maven puisse le compiler?

[INFO] Scanning for projects... 
[INFO] 
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.\ 
singlethreaded.SingleThreadedBuilder with a thread count of 1 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building PROJECT 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ PROJECT --- 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] skip non existing resourceDirectory C:\path\\src\main\resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ PROJECT --- 
[INFO] Changes detected - recompiling the module! 
[INFO] Compiling 5 source files to C:\path\\target\classes 
[INFO] ------------------------------------------------------------- 
[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] /C:/path/to/file/Controller.java:[14,21] package javax.servlet does not exist 
#..... NOTICE THIS COMES FROM A CUSTOM JAR 
[ERROR] /C:/path/to/file/DataServlet.java:[3,30] package gr.uoa.di.java.helpers does not exist 
#..... 
[ERROR] /C:/path/to/file/DataServlet.java:[26,32] package javax.servlet.annotation does not exist 
[ERROR] /C:/path/to/file/DataServlet.java:[28,26] package javax.servlet.http does not exist 
#..... 
[INFO] 49 errors 
[INFO] ------------------------------------------------------------- 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 

Si je nettoie le projet de sorte que le répertoire cible est peuplé avec des classes puis essayez de compiler tout le projet fin:

[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ DataCollectionServlet --- 
[INFO] Nothing to compile - all classes are up to date 

J'ai 1 question:

  • Qu'est-ce exactement dois-je ajouter à la pom.xml à reproduire l'environnement de compilation de la commande eclipse Run on Server? EDIT: Par exemple adding:

    <dependency> 
        <groupId>javax</groupId> 
        <artifactId>javaee-api</artifactId> 
        <version>7.0</version> 
        <scope>provided</scope> 
    </dependency> 
    

    la pom a résolu le problème "API Servlet not found" - mais est-ce la voie à suivre? Ou devrais-je ajouter something like:

    <dependency> 
        <groupId>org.jboss.as</groupId> 
        <artifactId>jboss-as-spec-api</artifactId> 
        <version>7.1.1.Final</version> 
    </dependency> 
    

    (voir here). NB: ajouter les dépendances proposées par le plugin M2e entraînerait une énorme pom - d'ailleurs je ne suis pas sûr tout cela serait nécessaire (c'est un projet servlet/jsp plaine):

    enter image description here

Je suis pack Eclipse Luna Java EE, Maven 3.1 (celui qui vient avec Eclipse) et en utilisant Jboss 7.1.1.Final

Répondre

1

J'ai fini juste d'ajouter:

<dependency> 
    <groupId>org.glassfish.web</groupId> 
    <artifactId>javax.servlet.jsp.jstl</artifactId> 
    <version>1.2.1</version> 
    <scope>provided</scope> 
</dependency> 

Cette transitive a ajouté le servlet-api:

enter image description here

ne savent toujours pas si l'ajout de c'est la bonne façon d'ajouter jstl 1.2.1 - Avis il ajoute le jstl 1.2 api (EDIT: ce n'est pas: Standard way of adding JSLT 1.2.1 in a Maven Project?)

J'ai aussi encore des problèmes avec mon pot homebrew (Can maven treat WEB-INF\lib the way eclipse (and m2e) does?) mais je le ferme pour l'instant.

Questions connexes