Gradle jlink 选项给出访问权限警告
Gradle jlink options gives access rights warning
使用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 总是向我发出 options
的警告:
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很常用的脚本:
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 总是向我发出 options
的警告:
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.