【发布时间】:2017-10-21 05:09:27
【问题描述】:
我正在尝试使用 spark 和 kotlin 创建一个小型网络服务器。
但我被困在我应该能够创建项目的 jar 并从命令行运行它的步骤。但是运行java -jar pissarra-core-all-1.0-SNAPSHOT.jar时出现以下错误@
Error: Could not find or load main class co.pissarra.Mainkt
我尝试使用 intellij idea 的工件创建但没有成功,然后继续使用 build.gradle 创建 jar。以下是相同的代码
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
}
在运行./gradlew clean 后跟./gradlew fatJar,我可以在build/libs/ 目录中创建jar 文件。这个 jar 也给出了同样的错误。
在提取 jar 文件时,我可以看到目录结构 co/pissarra/,其中包含 Mainkt.class 文件。还有META-INF目录下有MANIFEST.MF文件,内容如下
Manifest-Version: 1.0
Implementation-Version: 1.0-SNAPSHOT
Main-Class: co.pissarra.Mainkt
由于stackoverflow不允许上传文件,你可以找到jar文件here。您也可以从 github 项目here 构建 jar 文件。
【问题讨论】:
标签: gradle jar kotlin build.gradle