如何构建支持 JMX 的 ARM Gnueabi openjdk11 JRE

问题描述 投票:0回答:1

我已经为我的目标板(基于 Gnueabi ARM)成功构建了一个 openjdk 11 JDK。 然后使用 JDK Jlink 我成功地创建了一个自定义 JRE,我可以在我的目标上运行它。

现在我想用 JStatd 或 JMX 进行远程调试,但是当我用

启动 java 时
-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=8855 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false

我收到这个错误

-Dcom.sun.management is not supported in this VM.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

我已经使用命令创建了一个包含所有可能的 Java 11 模块的自定义 JRE

sudo qemu-arm -L /usr/arm-linux-gnueabi jdk/bin/jlink --no-header-files --no-man-pages --module-path jmods --compress=2 --add-modules java.base,java.compiler,java.datatransfer,java.desktop,java.instrument,java.logging,java.management,java.management.rmi,java.naming,java.net.http,java.prefs,java.rmi,java.scripting,java.se,java.security.jgss,java.security.sasl,java.smartcardio,java.sql,java.sql.rowset,java.transaction.xa,java.xml,java.xml.crypto,jdk.accessibility,jdk.attach,jdk.charsets,jdk.compiler,jdk.crypto.cryptoki,jdk.crypto.ec,jdk.dynalink,jdk.editpad,jdk.hotspot.agent,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jcmd,jdk.jconsole,jdk.jdeps,jdk.jdi,jdk.jdwp.agent,jdk.jfr,jdk.jlink,jdk.jshell,jdk.jsobject,jdk.jstatd,jdk.localedata,jdk.management,jdk.management.agent,jdk.management.jfr,jdk.naming.dns,jdk.naming.rmi,jdk.net,jdk.pack,jdk.rmic,jdk.scripting.nashorn,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.xml.dom,jdk.zipfs --output jre_all_modules

但我得到了相同的“-Dcom.sun.management 在此 VM 中不受支持。”错误。

由于目标是嵌入式板,RAM 数量有限,目标是获得运行 openjdk 11 JMX 或 JStatd 所需的最小模块集。

提前感谢大家

更新:我将 jdk 构建为“最小”。在进行配置之前,作为“客户端”我解决了这个问题。

java java-11 jmx jstatd
1个回答
0
投票

我将 jdk 构建为“最小”。配置它,在制作它之前,作为“客户端”我解决了问题

© www.soinside.com 2019 - 2024. All rights reserved.