Comment utiliser Scala dans IntelliJ IDEA (ou: pourquoi est-il si difficile d'obtenir un IDE de travail pour Scala)?

StackOverflow https://stackoverflow.com/questions/2668153

Question

J'ai donné récemment à essayer d'utiliser Scala dans Eclipse (trucs de base comme la fin ne fonctionne pas). Alors maintenant, je suis en train IntelliJ. Je ne reçois pas très loin.

Je suis en mesure de programmes d'édition (dans la mise en évidence de la syntaxe et la fin ... youpi!). Mais je suis incapable de courir même le « Bonjour tout le monde » plus simple. Ce fut l'erreur d'origine:

Scala signature Predef has wrong version
Expected 5.0
found: 4.1 in .... scala-library.jar

Mais c'était hier avec IDEA 9.0.1. Voir ci-dessous ...

UPDATE

Aujourd'hui, je désinstallé IntelliJ 9.0.1, et installé 9.0.2 Disponibilité tôt, avec la version 4/14 de stable du plug-in Scala.

Configuration Puis-je un projet à partir de zéro par les assistants:

  • nouveau projet à partir de zéro
  • est 1.6.u20 JDK
  • accepter la valeur par défaut (projet) au lieu du module / global
  • accepter le téléchargement de Scala 2.8.0beta1 dans le dossier de projet lib

Création d'une nouvelle classe:

object hello {
  def main(args: Array[String]) {
    println("hello: " + args);
  }
}

Pour mes efforts, j'ai maintenant une toute nouvelle erreur:)

Ici, il est:

Scalac erreur interne: classe java.lang.ClassNotFoundException [java.net.URLClassLoader $ 1.run (URLClassLoader.java:202), java.security.AccessController.doPrivileged (Native Method), java.net.URLClassLoader.findClass ( URLClassLoader.java:190), java.lang.ClassLoader.loadClass (ClassLoader.java:307), sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:301), java.lang.ClassLoader.loadClass (ClassLoader.java : 248), java.lang.Class.forName0 (méthode native), java.lang.Class.forName (Class.java:169), org.jetbrains.plugins.scala.compiler.rt.ScalacRunner.main (ScalacRunner.java : 72)]

Mise à jour FINALE

Je 9.0.2 EA et désinstallé réinstallé 9.0.1, mais cette fois allé avec la version 2.7.3 de Scala plutôt que la valeur par défaut 2.7.6, parce que 2.7.3 est celui qui apparaît sur l'écran coups au site IntelliJ (Je suppose que l'écran coups prouvent que ils ont testé cette version fait!). Maintenant, tout fonctionne !!!

Était-ce utile?

La solution

Je l'ai rencontré la même erreur de scalac lorsque vous essayez de lancer un projet Scala dans IntelliJ IDEA 9.0.2 et j'ai réussi à trouver une solution par hasard :). Ce sont les étapes de mon travail dans la création du projet et l'exécuter.

Je l'ai créé un projet Scala dans IntelliJ IDEA 9.0.2 final (il a été publié aujourd'hui). J'ai installé le plugin Scala, redémarré l'IDE et a créé un nouveau projet Scala (avec le nom « TestScala ») avec scala-2.8.0.Beta1 comme bibliothèque de projet. Une fois que le projet est créé et les bibliothèques de scala téléchargé, j'ai créé un fichier Test.scala avec le contenu suivant:

object Test  {
 def main(args:Array[String]){
   println("hello")
 }
}

Après cela, je créé une configuration de lancement ( "Modifier les configurations"), le choix du modèle "Application". Je mets comme classe principale Test et choisir le nom du projet ( « TestScala ») dans la zone de liste déroulante « Utiliser classpath et du module JDK ». Quand je lance la configuration que je reçois la même erreur que vous avez déclaré ( « erreur interne Scalac: classe java.lang.ClassNotFoundException »).

Maintenant vient la partie :) Freaky. Je clique droit sur le projet, choisissez « Paramètres du module », un coup d'oeil sur tous les paramètres, mais Je ne rien de changement . Cliquez sur "Appliquer" et "ok", essayez d'exécuter à nouveau la configuration et il fonctionne :).

J'utilise IntelliJ IDEA 9.0.2 la version finale (build 95-66); Ubuntu 9.10 et JDK 1.6.0_18. Je dois aussi mentionner que j'avais un JDK configuré Intellij, sinon il y a une étape supplémentaire pour le configurer.

Mise à jour:

Lors de la vérification du réglage du module, on a besoin de cliquer sur le bouton Module-> Scala et Facets-> Scala (développer et cliquez sur Scala (ProjectName)) . Ces deux paramètres sont sur le compilateur et scala scala emplacement de la bibliothèque. Je suppose que ces valeurs ne sont pas correctement définies lors de la création du projet, mais sont enregistrés une fois que l'utilisateur les touche et enregistre les paramètres.

Autres conseils

Pour répondre à votre question, il est difficile d'obtenir un IDE pour travailler Scala pour deux raisons: (A) Scala commence seulement à toucher un large public et (B) en raison (a), il n'y a aucun cas d'affaires pour passer du temps sur une Scala IDE.

En outre, si vous êtes assez vieux pour jeter votre dos d'esprit et assez jeune pour se rappeler encore, vous sauriez que pour les cinq premières années ou plus de Java, nous étions coincés avec des outils bien-ish comme JBuilder qui a fait un peu plus que compiler votre code lorsque vous l'avez dit - aucune erreur mettant en lumière, pas d'auto-importation, et le mot refactoring n'existait même pas. Si vous voulez pionnier, vous devez être prêt à couper une partie de la route vous-même, ou du moins brousse bash.

Je sais qu'il ne vous aidera pas, mais je l'ai utilisé avec succès pour IDEA Scala sur Linux, Mac et Windows. J'ai généralement le SDK Scala installé en local, et le point IDEA à ce plutôt que d'utiliser l'option « téléchargement ».

À l'heure actuelle, je suis la plupart du temps en utilisant EAP version IDEA 9 sur Mac OS X avec Scala 2.8.0.Beta1-RC5 et il fonctionne bien (sauf que fsc ne semble pas travaillé avec des sources mixtes).

Vous pourriez tenter votre chance sur le IDEA Scala Plugin Discussion Forum , bien que je ne l'ai pas eu un grand nombre de réponses à mes propres messages là-bas.

Installation du plug-in est une condition sine qua non.

La prochaine chose que vous devez faire est de définir une bibliothèque (globale ou spécifique au projet, je l'utilise mondiale) qui détient la bibliothèque Scala et compilateur fichiers JAR (au minimum, le scala-compiler.jar et scala-library.jar de cela) . Ajout de fichiers JAR source et une documentation JAR ou URL est une bonne idée aussi. Ensuite, faire cette bibliothèque une dépendance de tous les modules dans votre projet qui incluent le code Scala.

Enfin, trouver les facettes Scala de ces modules et décochez les deux cases là.

Je n'ai une nouvelle installation et moi-même eu exactement le même problème. Il est avéré que, parce que j'avais créé le fichier dans le package racine, IDEA a ajouté une déclaration de package en haut avec la nomination d'un package. Je suppose que cela a ensuite obtenu compilé comme « objet principal package » - syntaxe valable en 2.8? Quoi qu'il en soit, je supprimé la ligne qui dit paquet et tout bien travaillé.

J'ai eu le même problème hier en essayant de le mettre en place. La solution est assez simple, il vous suffit de quelque part ensemble scala dans les paramètres du projet.

Vous le code compilé avec mélangeait deux différentes versions Scala.

J'utilise Netbeans pour écrire des programmes scala. Jusqu'à présent, cela fonctionne très bien avec mes codes. Vous pouvez essayer ici le plugin:. http://wiki.netbeans.org/Scala68v1

je recevais cette erreur et a également eu à un clic droit sur le projet et « Ouvrir les paramètres du module ». Cependant, il était plus que frapper appliquer. Je devais faire en sorte que mon contenu racine était correct pour chaque projet. Pour une raison quelconque, il y avait des dossiers incorrects source et de test.

Mon projet utilise Maven comme outil principal de construction et d'importer le projet en Intellij est probablement ce qui a créé ces paramètres incorrects.

J'ai eu le même problème, cette bloguer instructions post résolu le problème pour moi

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top