【发布时间】:2017-05-16 00:28:12
【问题描述】:
经过大量研究,我似乎无法找到使用 Gradle 生成可运行 Scala jar 文件时遇到的问题的根源。我正在覆盖“jar”Gradle 任务以创建一个 jar 文件(包括依赖项),该文件从我的主类文件开始执行。但是,每当我运行它时,无论我对 Main-Class 属性使用什么,控制台都会抛出“无法找到或加载主类”错误。到目前为止,这是我所拥有的:
build.gradle
buildscript {
repositories {
mavenCentral()
}
}
apply plugin: 'java'
apply plugin: 'scala'
apply plugin: 'application'
repositories {
mavenCentral()
// some other repos
}
version = '1.0'
sourceCompatibility = 1.8
targetCompatibility = 1.8
mainClassName = "com.test.Main"
dependencies {
// my dependencies
}
jar {
zip64 = true
manifest {
attributes "Main-Class": "$mainClassName"
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}
src/main/scala/com/test/Main.scala
package com.test
object Main {
def main(args: Array[String]): Unit = {
print("Hello world");
}
}
实际上,当我运行“java tf test.jar”时,它会在 jar 的根目录中显示“com/test/Main.class”!我是否缺少一些重要的类路径信息或什么?我正在使用 Gradle 3.5 在 macOS Sierra 上运行 Java 1.8。任何帮助表示赞赏。谢谢!
【问题讨论】:
标签: java scala gradle jar build