Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.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
OpenJDK JDK11没有JMC-Java任务控制器-FlightRecorder_Java_Java 11_Jmc - Fatal编程技术网

OpenJDK JDK11没有JMC-Java任务控制器-FlightRecorder

OpenJDK JDK11没有JMC-Java任务控制器-FlightRecorder,java,java-11,jmc,Java,Java 11,Jmc,我希望JMC可以使用OpenJDK、JDK11二进制文件,因为oracle已经从Java 11中开源了这些文件,但是在oracle中找不到这些文件,并且在bin文件夹下采用了OpenJDK Java-11二进制文件。 我也尝试过这个,因为有文章说它是单独发布的。 有人知道如何为OpenJDK-11获取JMC吗。自从Java11以来,JMC不再是JDK的一部分。正如您已经注意到的,这是一个单独的项目 我相信他们仍在评估迁移到独立存储库,目前的进展仍在进行中 您当前可以从下载独立版本。正常情况下,版

我希望JMC可以使用OpenJDK、JDK11二进制文件,因为oracle已经从Java 11中开源了这些文件,但是在oracle中找不到这些文件,并且在bin文件夹下采用了OpenJDK Java-11二进制文件。 我也尝试过这个,因为有文章说它是单独发布的。
有人知道如何为OpenJDK-11获取JMC吗。

自从Java11以来,JMC不再是JDK的一部分。正如您已经注意到的,这是一个单独的项目


我相信他们仍在评估迁移到独立存储库,目前的进展仍在进行中


您当前可以从下载独立版本。

正常情况下,版本将在以下位置提供:

有关新传递格式的更多信息,请参阅

由于雅加达ee从旧javax.mail坐标切换到新坐标尚未获得适当的第三方批准,构建已(暂时)停止。在接下来的几周内,应该会有一个新的构建,它有大量的修复程序,并且所有的批准都已经到位(或者恢复更改)

在此之前,通过从这里提取正式的JMC回购协议,可以(也不难)构建JMC 7:

您还可以从非正式的GitHub repo中构建和拉取主线镜像:

有关构建JMC的更多信息,请参阅: (或者只需读取存储库根目录中的README.md)

祝你好运

更新

JMC 8在从源代码处编译时可用。这里有一个命令供linux用户构建自己的jmc副本

mkdir ~/jmcToDelete && \
cd ~/jmcToDelete && \
git clone https://github.com/openjdk/jmc.git && \
cd jmc/releng/third-party && \
mvn p2:site && \
runJetty="mvn jetty:run" && \
bash -c "$runJetty &" && \
cd ~/jmcToDelete/jmc/core && \
mvn clean install && \
cd ~/jmcToDelete/jmc && \
mvn package -Dmaven.test.skip=true && \
kill $(jps | grep Launcher | awk '{print $1}') && \
sudo mkdir -p /opt/java/jmc && \
sudo tar xzf  $(find ~/jmcToDelete/jmc/target -name '*.jmc-linux*') -C /opt/java/jmc  && \
sudo ln -s  /opt/java/jmc/jmc   /usr/local/bin/jmc  && \
rm -rf ~/jmcToDelete
在终端中键入jmc应该会启动它

过时的

如Hirt所述,您可以从 jdk8(v5.5)中提供的jmc要求JVM进程中存在特殊标志
-XX:+UnlockCommercialFeatures-XX:+FlightRecorder
,如果“飞行记录”不存在,它将无法检索,因此您只能在java1.8中使用它。如果您想在openjdk-11上添加这些标志,它将失败,因为
无法识别的VM选项“UnlockCommercialFeatures”
意味着您不需要它们,因为它们在默认情况下是启用的(FlightRecorder)

通过从下载gz归档文件,我编译了jmc-7.1.0,没有任何问题 按照自述文件中的步骤操作: 确保编译是使用jdk1.8完成的 在一个终端中:

cd releng/third-party
mvn p2:site
mvn jetty:run
在第二个终端:

cd core
mvn clean install
cd ..
mvn package
完成后,您应该在目标文件夹中保存所有人工制品。 默认的jmc启动脚本有很多标志,它不会以所有标志启动,因此您可以使用

java -jar ./jmc-[...]/target/products/jmc/plugins/org.eclipse.equinox.launcher_[...].jar

Azul提供免费的、不受支持的祖鲁任务控制版本,可在

版本可用于运行Windows、Linux和Mac OS X的客户端

现在还有Oracle生产的二进制文件:


贝尔软件提供利比里亚任务控制:


根据他们的文档,它可以在生产环境中免费使用,Liberica JDK的支持订阅还包括一项商业支持。

对于接下来的问题,如果您接受其中一个答案,您将更快地获得更好的答案。几周前,您在问题中包含的链接上提供了早期访问版本。由于未知原因,二进制版本已被删除。希望他们很快就会回来…JMC 8可以使用二进制版本,请参阅:谢谢@Christine,但找不到相同版本的二进制文件。您在问题中提供了链接。Nullpointer在一个链接中提供了指向JMC6的链接。感谢@Hirt提供了有价值的链接。对不起,我在检查回复时被耽搁了。实际上,我对JFR(Java Flight Recorder)特别感兴趣,在查看Oracle的一篇文章时,我注意到它与开放jdk二进制文件一起发布:。在试图在jdk/bin中找到类似的东西时,我无法从jdk-11二进制文件中找到它(选中OracleOpenJDK和AdoptOpenJdk)。您能建议我们是否可以直接从jdk二进制文件访问飞行记录器吗?jdk飞行记录器和jdk任务控制是两个不同的东西。jdk飞行记录器内置于Oracle jdk 8+和OpenJDK 11+中。jdk任务控制是您用来可视化记录的。如果您阅读我的博客(),特别是奥雷里奥和我写的链接博客,我想我们会明白为什么我们有新的交付格式。从那时起几个月过去了,仍然没有关于构建的消息。@KARASZIIstván,好消息!(发布于2021-03-17)这个软件是免费供个人使用的吗?这就是他们的常见问题解答所说的“Azul使社区变得更强大吗?”(即,免费)Zulu任务控制版本可用?是的。免费、不受支持的Zulu任务控制版本可在下载。版本可用于运行Windows、Linux和macOS的客户端。”我很想知道你在甲骨文网站的什么地方找到了一个实际的下载链接。@robross0606不确定我是否记得。但一般来说,谷歌搜索将是我探索的媒介。