小编Aku*_*urn的帖子

如何在 JavaExec 任务中正确添加 --add-opens 到 jvmArgs

目前我有一个执行运行程序的任务,比如

task runApp(type: JavaExec) {
    classpath = sourceSets.main.runtimeClasspath

    main = 'com.eonmux.somepackage'

    jvmArgs '-Xmx4096m'
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试将 --add-opens 添加到 JVM 参数列表中,以便允许从我的 gradle 包进行反射访问

就像是

task runApp(type: JavaExec) {
    classpath = sourceSets.main.runtimeClasspath

    main = 'com.eonmux.somepackage'

    jvmArgs '-Xmx4096m','--add-opens java.base/jdk.internal.loader=ALL-UNNAMED'
}
Run Code Online (Sandbox Code Playgroud)

但是,这会出现以下错误,指出命令行选项无法识别

2020-12-09T16:30:56.285-0500 [INFO] [org.gradle.process.internal.DefaultExecHandle] Successfully started process 'command 'C:\Program Files\AdoptOpenJDK\jdk-11.0.6.10-openj9\bin\java.exe''
2020-12-09T16:30:56.286-0500 [DEBUG] [org.gradle.process.internal.ExecHandleRunner] waiting until streams are handled...
2020-12-09T16:30:56.360-0500 [ERROR] [system.err] JVMJ9VM007E Command-line option unrecognised: --add-opens java.base/jdk.internal.loader=ALL-UNNAMED
2020-12-09T16:30:56.361-0500 [ERROR] [system.err] Error: Could not create the Java Virtual Machine.
Could not create the Java Virtual …
Run Code Online (Sandbox Code Playgroud)

java reflection arguments gradle

24
推荐指数
1
解决办法
2万
查看次数

使用逗号进行Java数组连接?

我有一些谜题需要帮助才能在这里解开,到目前为止我还没有找到答案.

在此文件中:https://bitcoinj.googlecode.com/git/core/src/main/java/com/google/bitcoin/core/PartialMerkleTree.java

出现在线: byte[] left = recursiveExtractHashes(height-1, pos*2, used, matchedHashes).getBytes(), right;

哪个eclipse似乎认为是有效的Java并且编译得很好..

那么该", right"部分到底表现了什么呢?

我认为这是一个宣言,但我从未见过像这样的声明.

有人可以进一步阐述吗?

java arrays comma

2
推荐指数
1
解决办法
108
查看次数

标签 统计

java ×2

arguments ×1

arrays ×1

comma ×1

gradle ×1

reflection ×1