Comment gérer le dossier source src/test/java manquant dans le projet Android/Maven?


Je ne suis pas encore très expérimenté avec Maven en combinaison avec Android, j'ai donc suivi ces instructions pour créer un nouveau projet Android. Lorsque le projet a été créé, je reçois le message d'erreur suivant:

Le projet 'xxx-1.0-SNAPSHOT' est manquant dans le dossier source requis: 'src/test/java'

Lorsque j'essaie d'ajouter un nouveau dossier source avec des Nouveau->Autres->Java-Source Dossier src/test/java, je reçois un autre message d'erreur:

Le dossier est déjà un dossier source.

Mais je n'ai pas de dossier src/test/java dans mon projet. Comment dois-je faire avec ça? Quelle est la façon propre de configurer le projet, car je suppose qu'il manque quelque chose dans cette instruction. Alors, quelle est la façon Maven de laisser src/test / java apparaître?

J'utilise Eclipse Juno, m2e 1.1.0, Configuration Android pour m2e 0.4.2.

Author: Bevor, 2012-08-15

7 answers

Je réalise aussi cette chose ennuyeuse depuis la dernière mise à niveau du plugin m2e-android (version 0.4.2), cela se produit à la fois dans la création de nouveaux projets et dans l'importation de projets existants (si vous n'utilisez pas src/test/java).

Il ressemble à m2e-android (ou peut-être m2e) maintenant toujours essayer d'ajouter src/test/java en tant que dossier source, indépendamment du fait qu'il existe réellement dans votre répertoire de projet, dans le .fichier classpath:

<classpathentry kind="src" output="bin/classes" path="src/test/java">
  <attributes>
    <attribute name="maven.pomderived" value="true"/>
  </attributes>
</classpathentry>

Comme il est déjà ajouté dans le fichier de métadonnées du projet, donc si vous essayez d'ajouter le dossier source via Eclipse, Eclipse se plaindra que le classpathentry existe déjà:

entrez la description de l'image ici

Il existe plusieurs façons de le réparer, le plus simple est de créer manuellement le répertoire src/test/java dans le système de fichiers, puis actualisez votre projet en appuyant sur F5 et exécutez Maven -> Update Project (Cliquez avec le bouton droit sur project, choisissez Maven -> Update Project...), cela devrait corriger l'erreur du dossier source requis manquant: 'src / test / java'.

 83
Author: yorkw, 2012-08-15 22:16:29

Nous pouvons ajouter un dossier java à partir de

  1. Chemin de construction -> Source .
  2. cliquez sur Ajouter un Dossier.
  3. Sélectionnez le conteneur.
  4. cliquez sur Créer un Dossier.
  5. Entrez le nom du dossier en tant que java.
  6. Cliquez sur Terminer

Cela fonctionne bien.

 11
Author: Kandy, 2014-03-15 06:16:02

Je résout le problème en créant d'abord un dossier nommé "src/test/resources", puis je renomme le dossier en "src/test/java" ,enfin je crée à nouveau un dossier "src/test/resources". Cela fonctionne .

 5
Author: wejack, 2013-08-21 09:04:29

Ceci est peut-être dû à la perte du répertoire source.

Faites un clic droit sur le dossier src - > Changer en dossier Source

 2
Author: JavaCreeper, 2014-08-05 11:59:29

J'ai eu le même problème, je l'ai corrigé. Créez le dossier manquant directement dans votre système de fichiers (en utilisant l'explorateur Windows par exemple) . Et puis, actualisez votre projet sous eclipse.

 2
Author: Mehdi, 2014-10-19 15:23:42

Ceci est un bug dans le connecteur Android pour M2E (m2e-android) qui a été récemment corrigé:

Https://github.com/rgladwell/m2e-android/commit/2b490f900153cd34fff1cec47fe5aeffabe44d87

Ce correctif a été fusionné et sera disponible avec la prochaine version. En attendant, vous pouvez tester le nouveau correctif en l'installant à partir du site de mise à jour suivant:

Http://rgladwell.github.com/m2e-android/updates/master/

 1
Author: Ricardo Gladwell, 2012-09-03 13:18:25

Supprimer le plugin m2 de la liste du plugin startup-up et faire un Maven->Mettre à jour les projets sur tous les projets ont fonctionné pour moi.

Remarque** Il ne faut pas créer de dossiers supplémentaires pour éviter de les fusionner lors de l'utilisation de branches basées sur SVN/Git.

 0
Author: Dish, 2017-08-18 05:16:00