如何在不将其作为参数传递的情况下从 Chef 自定义资源内部确定 Java 版本?

How may I determine Java version from inside the Chef custom resource without passing it as a parameter?

我正在创建自定义资源,并希望使其尽可能独立。我 需要确定 java 版本 在节点 上可用,这样我就可以设置 JAVA_OPTS 变量正确,取决于 Java 版本。我会更愿意找到这个,而不让资源的客户端传递这个信息作为参数。你能给我一些解决方案吗?

亲切的问候,
德努尔

使用 shell_out! 辅助方法 运行 java -version 并解析输出。您可以查看 Ohai 语言插件中的数据,它已经为您检查了其中的一些内容。