J'essayais de créer un petit serveur web en utilisant spark et kotlin.Impossible d'exécuter le fichier jar. (Erreur: Impossible de trouver ou charger la classe principale co.pissarra.Mainkt)
Mais je suis bloqué à l'étape où je devrais être capable de créer un pot du projet et l'exécuter à partir de la ligne de commande. Mais je reçois l'erreur suivante sur l'exécution java -jar pissarra-core-all-1.0-SNAPSHOT.jar
Error: Could not find or load main class co.pissarra.Mainkt
J'ai essayé d'utiliser la création d'artefact IntelliJ idée sans succès, et déplacé à l'aide de pot création build.gradle
. Voici le code pour le même
task fatJar(type: Jar) {
manifest {
attributes 'Implementation-Version': version,
'Main-Class': 'co.pissarra.Mainkt'
}
baseName = project.name + '-all'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
Après avoir exécuté ./gradlew clean
suivi ./gradlew fatJar
, je suis en mesure de créer un fichier jar dans le répertoire build/libs/
. Ce pot donne aussi la même erreur.
Lors de l'extraction du fichier jar, je peux voir la structure de répertoire co/pissarra/
avec le fichier Mainkt.class
à l'intérieur. En outre, il a le répertoire META-INF
avec MANIFEST.MF
fichier dont le contenu sont les suivants
Manifest-Version: 1.0
Implementation-Version: 1.0-SNAPSHOT
Main-Class: co.pissarra.Mainkt
Depuis stackoverflow ne permet de télécharger des fichiers, vous pouvez trouver le fichier jar here. Vous pouvez également créer le fichier jar à partir du projet github here.
Ouais .. Erreur idiote. Était le résoudre en utilisant le fichier java pour la classe Main au lieu d'utiliser kotlin. Merci beaucoup. –