Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle jlink选项提供访问权限警告_Gradle_Intellij Idea_Java Module_Jlink - Fatal编程技术网

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' } }

使用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总是对
选项
发出以下警告:

对“选项”的访问超出了其访问权限。无法指定值 至最终字段“选项”

还有一个关于
['--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()
相同,但有一些合理性检查。对我来说,它似乎更棒