首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分级jlink选项提供访问权限警告。

分级jlink选项提供访问权限警告。
EN

Stack Overflow用户
提问于 2019-11-13 18:18:43
回答 1查看 507关注 0票数 3

使用Gradle,这是一个非常常见的jlink脚本:

代码语言:javascript
复制
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

对“选项”的访问权限超过其访问权限。无法为最终字段“选项”分配值。

以及对['--strip-debug', '--compress', ... ]的警告

无法为类“ListProperty”应用默认构造函数。

我不知道是什么引起的。这在很大程度上是来自胶子的javafx帮助的复制粘贴,尽管我的项目是多模块。我不明白为什么这会改变什么。胶子剧本里的其他东西都很好用。jlink甚至创建了一个名为“helloFX”的启动程序。我不知道如何检查是否有任何选项有效。我可以想象他们不是。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-21 19:57:24

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

或者,似乎是这样,但是这可能是IDEA对自定义插件的分级支持中的一个错误

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

代码语言:javascript
复制
options.set([ '--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages' ])

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

代码语言:javascript
复制
addOptions('--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages')

后一种便利似乎与options.addAll()相同,但需要进行一些正常检查。在我看来,似乎更多的是Groovy。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58843258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档