gpt4 book ai didi

Gradle jlink 选项给出访问权限警告

转载 作者:行者123 更新时间:2023-12-03 02:48:52 26 4
gpt4 key购买 nike

使用Gradle,这是jlink很常用的脚本:

plugins {
id 'application'
id "org.beryx.jlink" version "2.16.3"
}

jlink {
options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
launcher {
name = 'helloFX'
}
}

出于我不知道的原因,IntelliJ 总是给我这个选项的警告:

Access to 'options' exceeds its access rights. Cannot assign a value to final field 'options'.

还有一个针对 ['--strip-debug', '--compress', ... ] 的警告:

Cannot apply default constructor for class 'ListProperty'.

我不知道是什么原因造成的。这几乎是来自 gluon's javafx help 的复制粘贴,虽然我的项目是多模块的。我不明白为什么这会改变任何事情。 gluon 脚本中的其他所有内容都可以正常工作。 jlink 甚至创建了一个名为“helloFX”的启动器。我不知道如何检查是否有任何选项有效。我想他们不是。

最佳答案

这似乎是在警告jlink.options是final的,而options == []格式实际上是一个隐式构造函数。这是一个问题,因为在创建 jlink 扩展时已经创建了选项。

或者,它似乎是这样,但是it is probably a bug in IDEA's Gradle support for custom plugins .

但是,既然它已经创建了,我们可以使用 setter 作为解决方法吗?

options.set([ '--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages' ])

这似乎可以消除 IDE 中的警告。还有一个 addOptions 方法公开了,所以我们也可以这样做:

addOptions('--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages')

后者的便利性似乎与 options.addAll() 相同,但有一些健全性检查。对我来说,它似乎更 Groovy。

关于Gradle jlink 选项给出访问权限警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58843258/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com