IntelliJ n'affiche pas «Classe» lorsque nous cliquons avec le bouton droit de la souris et sélectionnons «Nouveau»


140

Nous créons un nouveau projet dans IntelliJ et il doit y avoir quelque chose qui ne va pas, car lorsque nous cliquons avec le bouton droit sur un répertoire, sélectionnez Nouveau , puis obtenez le menu contextuel, les options basées sur Java ne sont pas affichées. Obtenez actuellement des éléments comme Fichier, certaines options HTML, des options XML.

Nous avons supposé jusqu'à présent que c'est quelque chose que nous n'avons pas configuré correctement dans la configuration Projet / Module. Le nouveau module dont nous parlons fait partie d'un projet multi-modules. Nous l'avons créé en utilisant un archétype Web Maven.

Une aide pour configurer la nature du projet?

Edit: La réponse est basique: `` Ce moment où vous réalisez que quelque chose ne fonctionne pas parce que vous n'avez pas cliqué sur `` Appliquer '' ... :) Nous avons bien ri de nous-mêmes lorsque nous avons découvert cela '


3
La question n'est pas un doublon car elle est antérieure à la suggestion d'un an
Crowie

3
Pas un doublon car c'est un problème et une solution différents
Brian Agnew

1
Dans mon cas, le nom du package n'était pas valide. int.project.mypackage. intn'est pas autorisé dans le nom du package.
Pas un bug

Réponses:


346

Le répertoire ou l'un des répertoires parents doit être marqué comme Source Root (Dans ce cas, il apparaît en bleu).

Si ce n'est pas le cas, faites un clic droit sur votre répertoire source racine -> Marquer comme -> Racine source.


11
S'il s'agit de votre répertoire de test, marquez-le comme le Test Source Root(il apparaîtra en vert)
Arnaud Denoyelle

«Marquer le répertoire comme» n'est pas disponible dans le menu de ma version d'Android, version 2.1. Des solutions de contournement?
CHarris

4
De plus, intellj-idea reconnaît automatiquement le dossier en tant que racine source lorsque nous avons une structure de cette manière: src / main / java
zkvarz

8
IntelliJ prend des décisions de conception vraiment discutables.
SpacePrez

24

Cela peut également se produire si le nom de votre package n'est pas valide.

Par exemple, si votre "package" est com.my-company(qui n'est pas un nom de package Java valide en raison du tiret), IntelliJ vous empêchera de créer une classe Java dans ce package.


2
Cela ... cela a fonctionné. Changé le tiret en trait de soulignement et cela a fonctionné immédiatement.
Andrew Grinder

10

vous devez marquer votre répertoire comme racine source (clic droit sur le répertoire parent)

puis compilez le plugin (c'est important)

vous pourrez ainsi ajouter des classes et plus

entrez la description de l'image ici

entrez la description de l'image ici


6

Si vous ouvrez les paramètres de votre module ( F4 ), vous pouvez désigner les chemins contenant «source». Intellij marquera ensuite ces répertoires en bleu et vous permettra d'ajouter des classes, etc.

De la même manière, vous pouvez mettre en évidence les répertoires de test pour les tests unitaires.


4

Structure du projet-> Modules -> {Votre module} -> Sources -> {Cliquez sur le dossier nommé java dans src / main} -> cliquez sur le bouton bleu dont img est un dossier bleu, alors vous devriez voir que la boîte de droite contient un nouvel élément (Dossiers source) .Tout être fait;


1
Merci! cela a fonctionné. Pour les débutants à la recherche d'une structure de projet , vous pouvez la trouver dans le menu Fichier ou appuyez sur Ctrl + Alt + Maj + S dans les fenêtres.
jacobcs

3

Une autre solution possible est que le nom du projet n'est pas acceptable. Par exemple, la création d'un projet avec des espaces dans le nom ne bloque pas la création du projet mais les sources appropriées ne sont pas marquées et lorsque celles-ci sont marquées manuellement, je n'ai toujours pas pu créer de classes. Recréer le projet avec des tirets (-) au lieu d'espaces a corrigé le problème pour moi.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.