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é.
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.
une fois le processus terminé, vous verrez les dossiers.
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
.
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.
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.
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.
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.