首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在查找器中,Java应用程序不能通过.apps启动

在查找器中,Java应用程序不能通过.apps启动
EN

Stack Overflow用户
提问于 2014-05-17 19:36:23
回答 5查看 2.6K关注 0票数 1

我安装了MacOS10.9.3,在终端中输入java -version时,显示:

代码语言:javascript
复制
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

我的问题是,当双击.app文件夹时,使用Java的应用程序无法工作。例如,TuxGuitar什么也不做,并且给出了No Java virtual machine错误。当使用命令启动它们时

代码语言:javascript
复制
open TuxGuitar.app
open Eclipse.app

。。他们两个都能用。可能的问题是什么?

EN

回答 5

Stack Overflow用户

发布于 2015-02-02 10:21:55

我也遇到了同样的问题,我在http://support.apple.com/kb/DL1572?viewlocale=en_US上安装了苹果的补丁来解决这个问题。

票数 1
EN

Stack Overflow用户

发布于 2014-05-24 03:43:09

与运行Finder.app的环境相比,您在终端中获得的shell环境中存在一些不同之处。你需要弄清楚有什么不同。

以下是一些相关的事实:

  • OS X窗口应用程序不会像~/.bash_profile一样读取shell启动文件,因此您对${PATH}或${JAVA_HOME}所做的更改不会影响窗口applications.
  • It过去OS X窗口应用程序读取路径的情况,但显然在10.9 this other StackOverflow question.
  • Java中不再是这样;请参阅例如Mac上的不断变化,并可以通过多种方式安装和控制。
    • Java Mac应用程序可以在应用程序捆绑包的Contents/Info.plist中对运行它们的JVM进行限制;查找key JVMOptions,特别是在其中的JVMVersion

可以尝试的内容:

  • 打开系统首选项并查看是否有Java控制面板。如果这样做,您可以使用它来选择哪些about.
  • /usr/libexec/java_home -v 1.7可用于运行图形用户界面应用程序,以及尝试它们的顺序。
  • 通过运行env -i /bin/sh打开一个“干净”的shell,然后尝试在该shell中运行/Applications/TuxGuitar.app/Contents/MacOS/TuxGuitar;您可能会得到一条有用的错误消息。
  • 使用/usr/libexec/java_home -V查看操作系统知道的JVM列表,以了解操作系统将为需要Java7的应用程序选择哪个JVM。
票数 0
EN

Stack Overflow用户

发布于 2014-05-24 07:10:34

在升级到小牛之后,我遇到了完全相同的问题,我在muCommander上注意到了这一点。由于我可以从命令行手动运行该应用程序,因此我有以下解决方法,我对此非常满意:

使用Automator创建shell脚本工作流

Spotlight -> Automator -> Workflow -> "Run Shell Script" -> [shell command]

然后保存Worflow,但选择文件格式Application而不是.workflow。现在,您有了一个可以双击的App。

附录1:这不是你最初问题的答案,因为我不知道问题到底是什么(jbyler的答案可能会在这里为你指明正确的方向)。然而,我认为你的问题意味着我可以双击再次工作吗?这个变通方法帮助我做到了这一点。

附录2:我已经安装了JAVA_HOME,并且安装了与您相同的版本。这是Automator中的工作流的屏幕截图:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23710857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档