我想用最新的JavaFX进行一些编程,这需要Java 8.我使用的是IntelliJ 13 CE和Mac OS X 9 Mavericks.我运行了Oracle的Java 8安装程序,文件看起来就像是他们最终的结果
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk
Run Code Online (Sandbox Code Playgroud)
但以前的版本是
/System/Library/Java/JavaFrameworks/jdk1.6....
Run Code Online (Sandbox Code Playgroud)
不知道为什么最新的安装程序将其放入/Library而不是/System/Library(也没有区别).但是/usr/libexec/java_home找不到1.8,所以我发现的关于如何设置当前java版本的所有帖子都不起作用.我已经尝试添加一个符号链接,使其看起来像1.8在/System/Library...路径中,但它没有帮助./usr/libexec/java_home -V仍然只列出旧的Java 1.6.
具有讽刺意味的是,"系统偏好设置"下的"Java"控制面板仅显示Java 1.8!
为什么Oracle的安装程序没有把它放到真正的位置?我该如何解决这个问题?
我刚刚从下载在Mac OS 10.7.5的Java 7u17 这里,然后安装成功.为了做一些JNI编程,我需要知道在Mac上安装Java的位置.
我以为在/Library/Java/JavaVirtualMachines/文件夹里面会有一个名为1.7.0.jdk或者什么的文件夹,但后来我发现文件夹是空的.通过ls /Library/Java/JavaVirtualMachines/终端运行证实了这一点.我已经尝试搜索它以查明它是否安装在其他地方,但这似乎并没有改变任何东西.
有人可以告诉我Mac上安装Java的位置吗?
Java是最新版本macOS上的可选包.
然而,一旦安装,似乎JAVA_HOME环境变量设置不正确.
许多使用shell脚本配置其环境的Java应用程序使用JAVA_HOME环境变量来启动正确版本的Java,找到JRE JAR等.
在OSX 10.6上,以下路径似乎对此变量有效
/Library/Java/Home
/System/Library/Frameworks/JavaVM.framework/Home
/System/Library/Frameworks/JavaVM.framework/Versions/Current
Run Code Online (Sandbox Code Playgroud)
其中一些是实际当前VM的符号链接(如"Java首选项"窗格中所定义).
但应该使用哪一个 - 或者可以使用其中任何一个?
尝试从Mac上Android Studio的"工具"窗口启动Android设备监视器时出现以下错误.
当我打开日志文件时,我发现一个错误报告非常类似于与此相似的其他SO问题,尤其是这个问题.但是,使用sudo对我来说不起作用,虽然我得到类似的,但更短的错误数据:
Macs-MBP:tools macuser$ sudo ./monitor
Password:
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/archquery/Main : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
./monitor: line 41: /Users/macuser/Library/Android/sdk/tools/lib/monitor-/monitor.app/Contents/MacOS/monitor: No such file or directory
./monitor: line 41: exec: /Users/macuser/Library/Android/sdk/tools/lib/monitor-/monitor.app/Contents/MacOS/monitor: cannot execute: No such file or directory
Run Code Online (Sandbox Code Playgroud)
背景故事:在这台笔记本电脑(El Capitan)上完成新的Android Studio安装后,我尝试从IDE内部启动显示器.它抱怨说运行它需要Java 1.6.所以我安装了Java 6.然后当我尝试它时,我收到了上面的错误消息.
当我从终端java_home -V运行时,我得到以下内容
Matching Java Virtual Machines (2): …Run Code Online (Sandbox Code Playgroud) java ddms android-studio osx-elcapitan android-device-monitor
更新到OS X 10.11后,我的java停止工作.我读过多个我应该做的地方:
sudo mv /usr/bin/java /usr/bin/java.old
sudo ln -ns /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java
Run Code Online (Sandbox Code Playgroud)
但问题是当我运行第一行代码时,我得到:
mv: rename /usr/bin/java to /usr/bin/java.old: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
我有什么想法可以解决这个问题?
我正在尝试使用./bin/pyspark从目录启动python的spark shell
当我运行该命令时,我收到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/launcher/Main
Caused by: java.lang.ClassNotFoundException: org.apache.spark.launcher.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Run Code Online (Sandbox Code Playgroud)
看来我失踪了:org.apache.spark.launcher.main
我不太清楚如何解决这个问题,并想知道是否有人有任何建议或遇到类似的问题.
谢谢