У меня есть сборка приложения javaFx Kotlin с Gradle.
Это файл, содержащий основной метод:
package com.grined.toptal.invoice
import javafx.application.Application
fun main(args: Array<String>) {
Application.launch(App::class.java)
}
Файл Gradle выглядит так:
version = '1.4'
buildscript {
ext.kotlin_version = '1.2.41'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: 'kotlin'
apply plugin: 'application'
mainClassName = "com.grined.toptal.invoice.MainKt"
jar {
zip64 = true
manifest {
attributes "Main-Class": "$mainClassName"
}
from {
configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) }
}
}
dependencies {
compile "org.mapdb:mapdb:3.0.5"
...
}
...
Я звоню gradle clean build
, чтобы изготовить банку.
Когда я пытаюсь позвонить java -jar jarName.jar
, я вижу эту ошибку:
Error: Could not find or load main class com.grined.toptal.invoice.MainKt
Я пытался использовать Main
вместо MainKt
, та же проблема. Также я проверил содержимое jar-файла и в нужном месте есть необходимый файл.