Gradle jlink选项提供访问权限警告
使用Gradle,这是一个非常常见的jlink脚本:Gradle jlink选项提供访问权限警告,gradle,intellij-idea,java-module,jlink,Gradle,Intellij Idea,Java Module,Jlink,使用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' } }
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总是对选项
发出以下警告:
对“选项”的访问超出了其访问权限。无法指定值
至最终字段“选项”
还有一个关于['--strip debug','--compress',…]的警告。
:
无法为类“ListProperty”应用默认构造函数
我不知道是什么引起的。这几乎是一个复制粘贴,虽然我的项目是多模块的。我不明白为什么这会改变什么。gluon脚本中的其他内容都很好。jlink甚至创建了一个名为“helloFX”的启动器,它可以工作。我不知道如何检查这些选项是否有效。我想他们不是。这似乎是在警告
jlink.options
是最终的,而options=[]
格式实际上是一个隐式构造函数。这是一个问题,因为在创建jlink扩展时已经创建了选项
或者,看起来是这样,但是
但是,既然已经创建了setter,我们可以使用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()
相同,但有一些合理性检查。对我来说,它似乎更棒