web-dev-qa-db-fra.com

Impossible d'exécuter l'application Kotlin dans Eclipse

Afin de créer mon premier projet Kotlin simple dans Eclipse, j'ai suivi les étapes du tutoriel Getting Started with Eclipse Luna du site officiel de Kotlin, à savoir:

  • Installer le plugin Kotlin pour Eclipse depuis Eclipse Marketplace
  • Ouvrez la perspective Kotlin et créez un projet Kotlin
  • Création du fichier "hello.kt" dans le dossier "src" avec la méthode main
  • Cliquez avec le bouton droit sur le fichier> Exécuter en tant que> Application Kotlin

Cependant, je reçois toujours l'erreur suivante dans la console Eclipse:

Erreur: impossible de trouver ou de charger la classe principale HelloKt

J'ai revérifié la configuration d'exécution de mon projet, et elle définit la "classe principale" comme HelloKt (dont je suis sûr à 100% qu'elle n'existe pas). De plus, lorsque je clique sur le bouton "Rechercher", le seul élément trouvé par Eclipse est HelloKt - (default package) (qui, là encore, n'existe pas).

Par souci d'exhaustivité, trouvez ci-dessous le code pour hello.kt fichier:

fun main(args: Array<String>) {
    println("Hello, World")
}

J'ai remarqué les divergences suivantes entre le tutoriel et ce que j'ai fait:

  • J'utilise une version différente d'Eclipse (le tutoriel suggère Luna; j'utilise Mars.2).
  • J'utilise une version JDK différente (le tutoriel NE suggère PAS de version spécifique, mais à partir des images, nous pouvons voir qu'ils ont utilisé jdk1.6.0_45, pendant que j'utilise jdk1.7.0_79.

Notez que j'utilise la dernière version du plugin Kotlin Eclipse, donc ce n'est pas le même cas que dans ce post . Ce sont les versions de mon installation actuelle:

  • Kotlin 0.7.2.v20160930-0748
    • kotlin-Eclipse-policy 0.7.2.v20160928-1525
    • kotlin-weaving-feature 0.7.2.v20160928-1525

L'une de ces divergences peut-elle être à l'origine de l'erreur lors de l'exécution de l'application?

Voyez-vous/connaissez-vous une cause potentielle ou un bug connu concernant ce scénario?


MISE À JOUR (14 mai 2017)

Testé avec Eclipse Neon.3 (Eclipse.buildId = 4.6.3.M20170301-0400), JDK 1.8.0_111, Kotlin 0.8.2.v20170314-0957 (kotlin-Eclipse-policy 0.8.2.v20170314-0957, kotlin-weaving -fonction 0.8.2.v20170314-0957, Equinox Weaving SDK 1.2.0.201701131634). Le problème persiste.

25
Bashful Beluga

Testé avec Java 8 (1.8.0_144) et la version Eclipse Oxygen.1a (4.7.1a - build id 20171005-1200) avec les versions de plug-in suivantes:

  Kotlin    0.8.2.v20170314-0957    org.jetbrains.kotlin.feature.feature.group  JetBrains
    kotlin-Eclipse-policy   0.8.2.v20170314-0957    org.jetbrains.kotlin.policy.feature.group   JetBrains
    kotlin-weaving-feature  0.8.2.v20170314-0957    org.jetbrains.kotlin.weaving.feature.feature.group  JetBrains

Tout a fonctionné comme prévu , sans avoir besoin de créer un espace de travail séparé et/ou d'utiliser Kotlin File au lieu de Kotlin Class:

enter image description here

0
Bashful Beluga

Essayez de nouveaux Kotlin File au lieu de Kotlin Class:

example

4
user7955150

Pour moi, cela ne s'est produit qu'une seule fois. Je pense que c'est un problème du plugin Kotlin, lorsque vous créez un fichier Kotlin et essayez de l'exécuter. Essayez la "nouvelle classe Kotlin" collez le même contenu et voyez si cela fonctionne. Après cela, vous devriez pouvoir exécuter les deux fichiers comme cela m'est arrivé.

1
Guilherme

J'ai les mêmes problèmes que toi. J'ai essayé de nombreuses façons mais ne fonctionne pas (comme désinstaller le plugin, puis réinstaller le plugin, supprimer le projet et créer un nouveau projet ...)

Comment réparer: J'ai créé un nouvel espace de travail et reconfiguré le projet helloworld. Je vois ce fichier de classe généré et je peux l'exécuter normalement.

Notez que nous créons un nouvel espace de travail et non un projet. Ce que je remarque, c'est que l'espace de travail contient un dossier .metadata qui peut contenir beaucoup d'informations pour Eclipse.

1
suhao399

Cela a fonctionné pour moi .... Si vous allez dans Fenêtre -> Afficher la vue -> Navigateur, il vous montre plus une disposition physique de votre espace de travail plutôt que la vue logique de l'Explorateur de packages. Cliquez avec le bouton droit sur le fichier kotlin avec la fonction principale définie et cliquez sur Exécuter en tant que -> Application Kotlin. A fonctionné pour moi, bien que je tuerais pour pouvoir utiliser une configuration régulière, mais telle est la vie .....

0
MarkyMarksFunkyBunch
  1. Allez dans Windows-> afficher la vue-> navigateur
  2. Modifiez le .project fichier, en changeant juste la section suivante pour compiler le fichier Kotlin dans le même emplacement que les fichiers Java.
<linkedResources>
        <link>
            <!--name>kotlin_bin</name-->
            <type>2</type>
            <locationURI>org.jetbrains.kotlin.core.filesystem:/FindUniqueStrings/bin</locationURI>
        </link>
</linkedResources>

Gardez à l'esprit:

  1. J'ai commenté la balise name. Sinon, Kotlin complier crée le dossier src kotlin_bin et place votre fichier kotlin dans ce dossier et le runtime kotlin ne le trouvera pas.
  2. Le nom de mon Java est intitulé FindUniqueStrings. Le vôtre sera différent.
  3. Vérifiez que vos fichiers de classe Java Java sont conformes dans le dossier bin de votre projet en localisant ces fichiers dans la vue Navigator.
0
Michael Scarpace

J'ai eu le même problème, il a été résolu en supprimant la variable d'environnement Java_HOME.

J'ai défini un ancien dossier JDK que j'ai supprimé dans la variable d'environnement Java_HOME.

0
sunday robot