Aku*_*urn 24 java reflection arguments gradle
目前我有一个执行运行程序的任务,比如
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 Machine.
2020-12-09T16:30:56.362-0500 [ERROR] [system.err] Error: A fatal exception has occurred. Program will exit.
A fatal exception has occurred. Program will exit.
Run Code Online (Sandbox Code Playgroud)
这很奇怪,因为当我打开指示的 Java 路径的命令行并运行时
C:\Program Files\AdoptOpenJDK\jdk-11.0.6.10-openj9\bin>java --add-opens
我收到以下消息确认其存在
Error: --add-opens requires modules to be specified
Run Code Online (Sandbox Code Playgroud)
我不是 Gradle 配置专家,所以我希望得到一些帮助。
这是在 Windows 10x64 上使用 IntelliJ IDE 和 Gradle 6.0.1
Jor*_*orn 14
这个问题在评论中得到了回答Jorn Vernee(尽管名字相似,但与我无关),所以我将在这里重复它:
您可能需要将两者作为单独的字符串传递,而不是一个('--add-opens', 'java.base/jdk.internal.loader=ALL-UNNAMED')。我认为如果将参数字符串中的空格替换为=.
| 归档时间: |
|
| 查看次数: |
18067 次 |
| 最近记录: |