当前位置:首页 > 操作系统 > MacOs

macos – 如何指导应用程序使用特定的Java版本?

当我直接启动它的JAR时,我得到了一个在Java 1.8下运行的Java应用程序没有问题.
但是在我的Mac上,JAR包含在一个需要我安装Java 1.6的应用程序中 – 我真的不想这样做!

所以我在应用程序包中搜索我可以配置我的应用程序将使用已安装的Java 1.8的点

将Contents / Info.plist中的属性InfoDictionary版本更改为8.0将无济于事.

这是可能的还是我需要构建一个全新的应用程序包?
在后一种情况下,对于一堆应用程序,哪种工具最好这样做?

解决方法:

这可能有助于快速找到答案.回想一下PyCharm.app做了类似的事情,这里是应用程序Info.plist文件的摘录(在那里观察…剪切…行):

<code>…snip…
<key>JVMOptions</key>
<dict>
  …snip…
  <key>JVMVersion</key>
  <!-- string>1.6*,1.7+</string -->
  <string>1.7+</string>
  …snip…
</dict>
…snip…
</code>

此外,PaperCut客户端应用程序(PCClient)在其Info.plist中使用一些simliar项:

<code><plist version="1.0">
  <dict>
    …snip…
    <key>CFBundleExecutable</key>
    <string>JavaAppLauncher</string>
    <key>JVMRuntime</key>
    <string>jre</string>
    <key>JVMMainClassName</key>
    <string>biz.papercut.pcng.client.uit.UserClient</string>
    <key>JVMOptions</key>
    <array>
      <string>-Dclient.home=$APP_ROOT/Contents/Resources/</string>
      <string>-Dcom.apple.macos.useScreenMenuBar=true</string>
      <string>-Xmx256m</string>
      <!-- Workaround since the icon parameter for bundleapp doesn't work -->
      <string>-Xdock:icon=$APP_ROOT/Contents/Resources/client-icon.icns</string>
    </array>
    <key>JVMArguments</key>
    <array/>
  </dict>
</plist>
</code>

同样,这些是不同Info.plist文件的一部分,因此它们可能无法直接复制和粘贴.但是,这两个应用程序都可以在OS X上运行,因此这些键/值可能会帮助您缩小工作范围.

两个应用程序似乎都有一些略微不同的做事方式. PCClient.app似乎包含了它自己的Java版本,而PyCharm依赖于OS X上安装的内容.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐