【发布时间】:2018-05-02 09:56:16
【问题描述】:
我有一个使用 gradle 构建的 javaFx Kotlin 应用程序。 这是一个包含 main 方法的文件:
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文件的内容,在需要的地方有必要的文件。
【问题讨论】:
-
gradle run工作吗? -
是的,它正在工作
标签: java gradle javafx jar kotlin