IntelliJ IDEA 13: le nouveau projet Scala SBT n'a pas généré de structure de répertoire src

j'ai suivi la vidéo getting start sur le site Web de Jetbrains pour configurer IntelliJ IDEA 13.1 Community Edition pour travailler avec Scala. Scala plugin v0.36.431 avait été installé. Alors que j'ai créé un nouveau projet Scala SBT avec wizard, il n'y avait pas de structure de répertoire src/ générée dans le projet. Seulement deux fichiers sbt ont été générés:

scala-course/
├── build.sbt
└── project
    └── plugins.sbt

de la vidéo et d'autre document je sais qu'il devrait y avoir une structure de répertoire src/ , y compris src/main/scala , src/test/scala , etc. sbt utilise la même structure de répertoire que Maven pour les fichiers source par défaut.

je peux créer ces dossiers manuellement et les marquer comme source root. Cependant, il est trivial. Alors ma question est: pourquoi IntelliJ idée nouvel assistant de projet ne génère pas la structure de répertoire comme dit dans le document? Je faisais quelque chose de mal? J'ai vérifié les préférences et je n'ai rien trouvé qui semble lié.

27
demandé sur aleung 2014-05-18 16:46:16

4 réponses

Normalement, il devrait créer ces dossiers automatiquement. Il peut prendre un certain temps cela prend quelques secondes dans mon cas.

lors de la création du projet s'assurer que vous avez sélectionné Scala -> SBT , puis procéder avec l'Assistant.

une fois que le Finish est cliqué, le projet sera chargé. cette partie prend quelques secondes, et je ne vois pas de src/main/scala nor src/test/scala généré jusqu'à ce qu'il soit fait . Observez le bas de l'écran pour voir quand c'est fait.

Loading Process

une fois le processus terminé, vous verrez les dossiers.

Loaded Done

Si ce n'est pas le cas, vérifiez les paramètres. Vous devriez avoir le créer des répertoires pour des racines de contenu vides automatiquement coché. Vous voudrez peut-être vérifier utiliser l'importation automatique pour propager automatiquement les changements dans le build.sbt .

Settings

après avoir changé les paramètres (si le changement est nécessaire) vous pouvez avoir besoin de rafraîchir le Projet, Comme vu dans l'image ci-dessous.

Refresh Settings

52
répondu lpiepiora 2014-05-18 13:52:43

cela peut aussi se produire si vous n'avez pas sélectionné de JDK. Pour une raison quelconque, vous n'avez plus l'option de sélectionner un SDK, vous devez donc vous assurer que vous l'avez configuré avant main. Pour corriger ceci faites ce qui suit:

From the welcome screen, go to 
Configure -> Project defaults -> Project structure and add the jdk.

Source: Quelle est la raison pour laquelle "Erreur:Impossible de déterminer la machine virtuelle Java exécutable dans une sélection de JDK"?

10
répondu Zaptree 2017-05-23 11:46:53

grâce à lpiepiora, avec son indice je trouve la raison.

parce que mon sbt est nouvellement installé, il n'y a rien dans ~/.ivy2/cache/ et ~/.sbt/boot/ . sbt nécessaire pour télécharger les dépendances requises à partir des dépôts sur le réseau. Il s'est passé que mon mandataire sur internet avait quelque chose de mal, le téléchargement bloqué.

et aussi besoin de noter que, si quitter IntelliJ idée lorsque sbt est en cours d'exécution en arrière-plan, la prochaine fois que vous obtenez l'erreur d'attente pour un certain fichier de verrouillage. Il faut supprimer le fichier de verrouillage sur le système de fichiers et redémarrer IntelliJ IDEA à nouveau.

après avoir réglé le problème réseau, tout fonctionne comme promis. Il faut plusieurs minutes, dépend de la vitesse du réseau, pour télécharger les fichiers jar nécessaires. Une fois terminée, la structure de répertoire src/ est créée.

9
répondu aleung 2017-05-23 10:31:22

j'ai suivi les instructions de ce thread mais j'ai eu un crash java dans la phase finale dans sbt avec la configuration ci-dessous et je pense que cette information peut être utile:

le problème est arrivé avec L'idée 2016.2, sbt 0.13.8 (j'ai essayé plus tard d'importer en utilisant 0.13.12 mais le crash était le même), scala 2.11.8 et ubuntu 16.04.

la seule façon que j'ai pu faire fonctionner était d'utiliser java 8 au lieu de 9.

error: error while loading package, Missing dependency 'object java.lang.Object in compiler mirror', required by /home/jbamaral/.sbt/boot   at xsbt.boot.Boot.main(Boot.scala)
... 
stack log here
...
[error] scala.reflect.internal.MissingRequirementError: object java.lang.Object in compiler mirror not found.
0
répondu João Amaral 2016-09-18 21:54:17