web-dev-qa-db-fra.com

configurer exécuter dans Eclipse pour Scala

Je suis débutant en Scala. J'ai installé Scala IDE dans Eclipse et je souhaite maintenant exécuter mon programme d'application. Il ne montre jamais "exécuter en tant qu'application Scala", mais "exécuter en tant qu'application Java" ou "applet Java"

J'ai ouvert "Exécuter la configuration" et cliqué sur "Application Scala" et mon nom de projet est "test" et la deuxième colonne est de "Classe principale". Que dois-je remplir? J'ai rempli "Main.Scala", mais il est indiqué que "je ne pouvais pas trouver la classe mainmain principale.scala".

Pouvez-vous m'aider à gérer ce projet?

55
raghav

Si vous souhaitez exécuter l'ensemble du projet, il doit avoir une "classe principale". Dans l'un de vos objets Scala, vous devez définir:

def main(args:Array[String]) { <some Nice code here> }

À partir de là, vous devriez "appeler" le reste de vos objets pour faire ce que fait tout le projet. Dans la colonne "Classe principale", vous devez spécifier le nom complet de votre objet. Par exemple, si vous avez défini le principal dans une classe appelée "Démarrer" dans le package "starter", vous devez indiquer "starter.Start" dans le champ "Classe principale".

Mais d'un autre côté, si vous voulez seulement exécuter un objet Scala, il devrait étendre App. S'il ne l'étend pas, Scala IDE n'ajoutera pas le "Exécuter en tant qu'application Scala ...":

package greeter
object Hello extends App {
  println("Hello, World!")
}
48
LMDDGTFY

Faites un clic droit sur votre projet et vérifiez les paramètres du "Compilateur Scala". Cochez la case "Spécifique au projet" et essayez de vérifier si vous pouvez exécuter votre objet Scala (qui devrait étendre App). 

23
Rajgopal C

assurez-vous que votre package déclaré dans votre code source correspond à la structure du répertoirede votre répertoire source.

dans ce cas, un fichier source déclarant le paquet "greeter" sera automatiquement exécuté en tant que scala si le fichier source est bien sous src/greeter/Hello.scala (et pas seulement sous src/Hello.scala)

C'est une erreur commune qui ne soit pas mise en évidence par le vérificateur de syntaxe.

15
Ram Janovski

Si vous avez installé le plugin Scala pour Eclipse, ouvrez la perspective Scala. Puis faites un clic droit sur votre projet et sélectionnez "Ajouter Scala Nature" dans le menu "Configurer".

Vous devriez maintenant pouvoir exécuter vos applications Scala. 

9
jopasserat

Télécharger à partir de ce lien Scala IDE

Redémarrez Eclipse, créez un projet Scala, puis créez un objet Scala et tapez-le.

 package greeter

    object Hello {
        def main(args:Array[String]) { 
          println("Hello, World") 
        }   
    }

Exécuter en tant qu'application Scala

5
jimakos17

Si c'est la première fois vous exécutez Scala IDE pour Eclipse après l'avoir configuré et créé votre projet, il vous suffit de sauvegarder votre projet et de redémarrer l'EDI. Au prochain démarrage, "Exécuter en tant qu'application Scala" est apparu et peut être utilisé.

4
Serendipity

J'ai eu des problèmes avec Scala IDE pour Eclipse exécutant des applications Scala qui étendent Application , mais exécuter des objets avec une méthode principale appropriée, c'est-à-dire def main(args:Array[String]) {/*...*/}, fonctionnait toujours correctement pour moi.

2
Fabian Steeg

Faites un clic droit sur Projet -> Cliquez sur Exécuter les configurations -> Dans la fenêtre Exécuter les configurations, sélectionnez "Application Scala". 

 Run Configurations Window

2
sparkDabbler

J'avais un problème similaire. Assurez-vous que vos fichiers Java et Scala ne sont pas dans le même package. J'ai changé les noms des paquets et cela a fonctionné pour moi

1
nir

J'ai eu ce problème en utilisant un IDE Eclipse Luna Scala. Aucune des solutions ci-dessus n'a permis de compiler mon fichier Main.scala.

package main.scala

object Main {
  def main(args: Array[String]){
    println("Hello, I am the main object")
  }
}

Le problème était le suivant: Mon projet faisait uniquement référence à la bibliothèque JRE System mais pas à la bibliothèque Scala. J'ai effectué les étapes suivantes:

  1. Clic droit sur les propriétés du projet
  2. Chemin de construction Java
  3. Vérifier si la bibliothèque Scala est manquante
  4. Cliquez sur "Ajouter une bibliothèque ..."
  5. Ajoutez la bibliothèque Scala souhaitée qui aurait dû être livrée avec l'EDI Scala.

Ensuite, accédez au fichier Main.scala qui se trouve quelque part dans votre dossier de projet et contient votre fonction principale. Si vous cliquez sur le fichier avec le bouton droit de la souris, "Application Scala" devrait apparaître sous "Exécuter en tant que".

0
MichaelHuelsen

Juste un pointeur .. J'avais rencontré le même problème .. Étant expérimenté en Java, au lieu de créer un objet Spark, je créais une classe spark, raison pour laquelle je n'avais pas cette option.

J'espère que mon expérience aide. 

0
Sandeep Das

Essayez d’exécuter la commande Eclipse de l’outil sbt dans le répertoire de votre projet afin de créer votre projet scala pour l’EDI Eclipse. Vous n'aurez alors aucun problème à configurer votre configuration d'exécution, cela pourrait même être fait pour vous automatiquement.

    $ sbt
    > Eclipse 
    [info] About to create Eclipse project files for your project(s).
    [info] Updating {file:/...path-to-your-project}root...
    [info] Resolving jline#jline;2.12.1 ...
    [info] Done updating.
    [info] Successfully created Eclipse project files for project(s):
    [info] your-project-name

terminé! maintenant importer votre projet dans l'espace de travail d'Eclipse

0
Jules Martel

Si vous avez besoin d'Eclipse pour de bonnes raisons, puis-je vous recommander d'essayer IntelliJ?

La version 10 a été publiée aujourd'hui et l'édition communautaire (gratuite) est parfaitement heureuse de travailler avec le plugin IntelliJ Scala.

0
Kevin Wright

Voici les étapes que j'ai suivies pour exécuter avec succès scala (Ubuntu) sur Eclipse:
1. Télécharger Scala IDE
2. Après l'installation, créez un projet Maven.
3. clic droit sur le projet, allez à configurer et "Ajouter Scala Nature"
4. Dans le .pom j'ai fourni les dépendances suivantes:

    <!-- https://mvnrepository.com/artifact/org.Apache.spark/spark-core -->
<dependency>
    <groupId>org.Apache.spark</groupId>
    <artifactId>spark-core_2.12</artifactId>
    <version>2.4.1</version>
</dependency>

    <!-- https://mvnrepository.com/artifact/org.Apache.spark/spark-sql -->
<dependency>
    <groupId>org.Apache.spark</groupId>
    <artifactId>spark-sql_2.12</artifactId>
    <version>2.4.1</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.Apache.spark/spark-graphx -->
<dependency>
    <groupId>org.Apache.spark</groupId>
    <artifactId>spark-graphx_2.12</artifactId>
    <version>2.4.1</version>
</dependency>
  1. Assurez-vous que src/main/scala se trouve sur le chemin de génération.
  2. Créez un fichier scala pour tester votre projet.

J'espère que cela t'aides!!!

0
pkm