20

我希望 JMC 可以与 OpenJDK、JDK11 二进制文件一起使用,因为它是由 oracle 从 Java 11 开源的,但无法在 bin 文件夹下的 Oracle 和 AdoptOpenJDK Java-11 二进制文件中找到它。我也试过这个https://jdk.java.net/jmc/因为一些文章说它是单独发布的。有谁知道如何为 OpenJDK-11 获取 JMC。

4

6 回答 6

19

我正在编辑这个答案,因为现在可以从多个供应商那里获得并且已经可以使用一段时间了。该列表可在 JMC GitHub 存储库的自述文件中找到:

https://github.com/openjdk/jmc

喜欢的话别忘了给项目一个star哦!:)

这是原始答案:

通常,构建将在此处提供: https ://jdk.java.net/jmc/

有关新交付格式的更多信息,请参见http://hirt.se/blog/?p=1007

由于在 jakarta-ee 从旧 javax.mail 坐标切换到新坐标尚未获得适当的第三方批准,因此已(暂时)取消构建。一个新的版本,有大量的修复,并且所有的批准都已经到位(或更改的恢复),应该会在接下来的几周内出现。

在此之前,通过从此处提取官方 JMC 存储库,可以(也不难)构建 JMC 7: https ://hg.openjdk.java.net/jmc/jmc7/

你也可以从非官方的 GitHub 仓库中构建和拉取主线镜像: https ://github.com/JDKMissionControl/jmc

有关构建 JMC 的更多信息,请参阅: http : //hirt.se/blog/?p=947(或只需阅读存储库根目录中的 README.md)

祝你好运!

于 2018-12-26T11:19:39.223 回答
10

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

https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html

于 2018-12-21T09:57:07.653 回答
5

Azul 提供免费的、不受支持的 Zulu Mission Control 版本,可从http://azul.com/products/zulu-mission-control下载

构建适用于运行 Windows、Linux 和 Mac OS X 的客户端。

现在也有 Oracle 生成的二进制文件:

https://jdk.java.net/jmc/

于 2019-05-17T18:09:02.733 回答
0

更新

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 所说,您可以从http://hg.openjdk.java.net/jmc编译它 jdk8 (v5.5) 中可用的 jmc 要求-XX:+UnlockCommercialFeatures -XX:+FlightRecorderJVM 进程中存在特殊标志,它不会检索“flight记录”,如果它们不存在,那么您只能在 java1.8 中使用它。如果您想在 openjdk-11 上添加这些标志,它将失败,Unrecognized VM option 'UnlockCommercialFeatures'这意味着您不需要它们,因为它们默认启用( FlightRecorder )。

我通过从http://hg.openjdk.java.net/jmc/jmc/下载 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
于 2019-05-08T16:07:19.273 回答
0

我相信他们仍在评估GitHub以迁移到一个独立的存储库,目前的进展仍处于jmc7.

您目前可以从Oracle 网站下载独立版本以进行任务控制

于 2018-12-21T14:40:08.890 回答
0

BellSoft 提供 Liberica Mission Control:https ://bell-sw.com/pages/lmc/

根据他们的文档,它可以在生产环境中免费使用,并且作为 Liberica JDK 支持订阅的一部分包含商业支持。

于 2019-10-28T11:26:23.353 回答