【发布时间】:2019-06-25 21:43:22
【问题描述】:
我正在尝试制作一个可执行程序文件来分发我的 java 程序。通常我会通过运行来制作这个文件:
$ echo '#!/usr/bin/java -jar' > program
$ cat my-program.jar >> program
$ chmod +x program
据我所知,Gradle 应该能够分发软件。我不确定这是否延伸到操作系统版本,或者它是否只是包维护者使用的文件。 as covered here
我希望能够让 Gradle 为制作包准备分发文件。像这样的:
distributions
└── project_1.1-1
└── Folder
├── control
└── usr
└── local
└── bin
└── program
到目前为止,我已经在build.gradle 中尝试过这个:
distributions {
write '#!/usr/bin/java -jar'
into program
Jar {
from sourceSets.main.output
dependsOn configurations.runtimeClasspath
from {
configurations.runtimeClasspath.findAll {
it.name.endsWith('jar') }.collect { zipTree(it) }
}
}
} into program
}
【问题讨论】:
-
您的
echo命令创建一个包含两行的文本文件,而不是二进制文件。这与您在build.gradle文件中尝试执行的操作不同。
标签: java gradle build.gradle