186 votes

IntelliJ n'affiche pas "Class" lorsque nous faisons un clic droit et sélectionnons "New".

Nous sommes en train de créer un nouveau projet dans IntelliJ et nous devons avoir un problème car lorsque nous faisons un clic droit sur un répertoire, nous sélectionnons Nouveau et obtenir le menu contextuel, les options basées sur Java ne sont pas affichées. Actuellement, on obtient des choses comme Fichier, certaines options HTML, des options XML.

Nous avons supposé jusqu'à présent que c'était quelque chose que nous n'avions pas configuré correctement dans la configuration du projet/module. Le nouveau module dont nous parlons fait partie d'un projet multi-modules. Nous l'avons créé à l'aide d'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".

6 votes

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

5 votes

Il ne s'agit pas d'un doublon, car le problème et la solution sont différents.

5 votes

Dans mon cas, le nom du paquet n'était pas valide. int.project.mypackage . int n'est pas autorisé dans le nom du paquet.

448voto

Arnaud Denoyelle Points 7276

Le répertoire ou l'un des répertoires parents doit être marqué en tant que 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 Root -> Mark As -> Source Root.

13 votes

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

0 votes

L'option 'Marquer le répertoire comme' n'est pas disponible dans le menu de ma version d'Android, la version 2.1. Des solutions ?

5 votes

De plus, intellj-idea reconnaît automatiquement le dossier comme source Root lorsque la structure est structurée de cette manière : src/main/java

74voto

kuporific Points 6434

Cela peut également se produire si le nom de votre paquet est invalide.

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

2 votes

Cela... cela a fonctionné. J'ai remplacé le tiret par un trait de soulignement et cela a fonctionné immédiatement.

2 votes

J'avais nommé un paquet Enum et c'était là mon problème

0 votes

Merci de votre attention ! J'ai essayé de supprimer *.iml y .idea Je n'ai pas eu de réponse, j'ai invalidé les caches, mais en vain... Je commençais à être convaincu qu'il avait repéré mes fichiers python en premier (j'ai deux scripts pour mes fichiers Dockerfile qui se trouvent être placés en premier dans le projet) et a décidé de marquer l'ensemble de mon projet comme un projet Python...

19voto

user3218923 Points 9

Vous devez marquer votre répertoire comme source Root (clic droit sur le répertoire parent)

et ensuite compiler le plugin (c'est important)

Vous pourrez ainsi ajouter des classes et plus encore.

enter image description here

enter image description here

7voto

Brian Agnew Points 143181

Si vous ouvrez les paramètres de votre module ( F4 ), vous pouvez désigner les chemins qui contiennent "source". Intellij marquera alors 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.

7voto

Xian Shu Points 323

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

2 votes

Merci ! Cela a fonctionné. Pour les débutants qui cherchent Structure du projet Vous pouvez le trouver à l'adresse suivante Fichier ou appuyez sur Ctrl+Alt+Maj+S dans Windows.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X