【发布时间】:2016-12-08 09:19:26
【问题描述】:
我们有
desktopRuntime 'org.xerial:sqlite-jdbc:3.15.1'
在 gradle 文件中。 我构建项目,但我的 zip 文件在 lib 文件夹中没有此文件。 如何为桌面构建项目? 我的ide是netbeans。 谢天谢地。
【问题讨论】:
我们有
desktopRuntime 'org.xerial:sqlite-jdbc:3.15.1'
在 gradle 文件中。 我构建项目,但我的 zip 文件在 lib 文件夹中没有此文件。 如何为桌面构建项目? 我的ide是netbeans。 谢天谢地。
【问题讨论】:
distZip 或 jar gradle 任务的问题是它们没有包含桌面依赖项。
部署到桌面时,您可以将临时的 desktopRuntime 更改为 runtime,因此它们将被包括在内,正如 Ladislav Török 所建议的那样,但是您应该撤消更改,以便在移动部署中不包含依赖项。
如果你想要一个工作的 zip,我们必须修改 distZip 任务,将桌面依赖项包含在 lib 文件夹中,并将它们包含在类路径中(因此它们也被添加到脚本中在 bin 文件夹中)。将此包含在您的 build.gradle 脚本中:
startScripts {
classpath += configurations.desktopRuntime
}
distZip {
into("$project.name/lib") {
from configurations.desktopRuntime
}
}
您也可以通过使用shadowJar 来解决此问题,前提是您包含桌面依赖项,以创建可执行的 fat jar,就像在这个 solution 中一样。
【讨论】:
Try next steps:
1.
dependencies {
compile 'org.xerial:sqlite-jdbc:3.15.1'
runtime 'org.xerial:sqlite-jdbc:3.15.1'
}
【讨论】: