web-dev-qa-db-fra.com

Maven WebApp avec Intellij - procédure

Quelle est la procédure à suivre pour créer une application Web Java EE avec Maven et Intellij?

C'est ce que je fais:

  • Fichier/Nouveau/Projet
  • Type de projet: Maven
  • Créer depuis archetype: maven-archetype-webapp 

Mais lorsque je crée un servlet, IntelliJ affiche un symbole sur le servlet: enter image description here

Ce symbole est "Classe Java située hors de la racine source. Reportez-vous à la section Configuration des racines de contenu pour plus de détails".

Si je lance le projet, j'obtiens une erreur.

Si je marque le répertoire "ressources" en tant que "Sources racine", le projet fonctionne.

Mais si je recharge Maven (clic droit/maven/reimport), le répertoire des ressources perd la structure "Racine source".

Je pense que quelque chose ne va pas dans ma procédure.

13
magikbibi

Créez un nouveau dossier sous main appelé Java . Puis cliquez dessus avec le bouton droit de la souris et sélectionnez Mark Directory As -> Sources Root . Utilisez ce répertoire pour tout votre code Java et tout devrait fonctionner!

19
chrkv

Merci à Chrkv!

1). Créez un nouveau dossier sous main appelé Java. Puis cliquez dessus avec le bouton droit de la souris et sélectionnez Marquer le répertoire comme -> Sources racine

2) Dans la structure du projet/Modules/Web, cochez la case pour Java "Sources Racine"

enter image description here

Maintenant, je peux utiliser un clic droit sur Java/New/Servlet.

Qu'est-ce que le répertoire "ressources"? (si je ne peux pas créer servlet ici)

Est-ce le bon précédent?

3
magikbibi

J'avais également rencontré le même problème et trouvé une solution en remplaçant la dépendance:

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>servlet-api</artifactId>
  <version>2.5</version>
  <scope>provided</scope>
</dependency>

par dépendance suivante 

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

après avoir ajouté ceci et fait de Java le répertoire racine source, comme mentionné dans la réponse ci-dessus, l’idée d’intelliJournalisme offrait la possibilité de créer des filtres avec des services Web. J'ai suivi les étapes depuis le lien: http://www.tugay.biz/2013/10/hello-world-web-application-with-maven.html

0
Prabin Upreti