aptana 从官网下载下来的版本应该是32位的,而mac os 上安装的jdk 1.8是64位的,导致运行报java虚拟机错。
解决办法:
在mac os上下载安装一套兼容32位的java环境。
下载url地址:
https://support.apple.com/kb/DL1572?locale=zh_CN
确认aptana的版本架构方法:
lipo -info AptanaStudio3
Architectures in the fat file: AptanaStudio3 are: i386 ppc7400
输出是i386就说明是32位的。
确认兼容32位的java jdk安装就绪的方法:
进入目录:
/System/Library/Frameworks/JavaVM.framework/Versions/
ls -la
应该有如下输出,CurrentJDK链接指向/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
Jay-MacBook-Pro:Versions shidongxue$ ls -la
total 64
drwxr-xr-x 11 root wheel 374 10 2 16:57 .
drwxr-xr-x 10 root wheel 340 10 2 16:57 ..
lrwxr-xr-x 1 root wheel 10 10 2 16:57 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 10 2 16:57 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 10 2 16:57 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 10 2 16:57 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 10 2 16:57 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 10 2 16:57 1.6.0 -> CurrentJDK
drwxr-xr-x 8 root wheel 272 10 2 16:57 A
lrwxr-xr-x 1 root wheel 1 10 2 16:57 Current -> A
lrwxr-xr-x 1 root wheel 52 10 2 16:57 CurrentJDK -> /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
进入CurrentJDK/Home/bin
lipo -info java
Architectures in the fat file: java are: i386 x86_64
有i386,可确认支持运行32位的java程序。
相对应的其他jdk 1.8版本,是不支持32位的Java程序的,可看一下:
cd /Library/java/JavaVirtualMachines/
Jay-MacBook-Pro:JavaVirtualMachines shidongxue
ls1.6.0.jdkjdk1.8.0101.jdkjdk1.8.060.jdkJay−MacBook−Pro:JavaVirtualMachinesshidongxue
ls -la
total 0
drwxr-xr-x 5 root wheel 170 10 2 16:57 .
drwxrwxr-x 5 root wheel 170 10 2 16:57 ..
drwxr-xr-x 3 root wheel 102 7 15 2015 1.6.0.jdk
drwxr-xr-x 3 root wheel 102 9 2 17:44 jdk1.8.0_101.jdk
drwxr-xr-x 3 root wheel 102 9 12 2015 jdk1.8.0_60.jdk
看到这里安装过几个jdk版本,相互不影响。
Jay-MacBook-Pro:JavaVirtualMachines shidongxue
ls−latotal0drwxr−xr−x5rootwheel17010216:57.drwxrwxr−x5rootwheel17010216:57..drwxr−xr−x3rootwheel10271520151.6.0.jdkdrwxr−xr−x3rootwheel1029217:44jdk1.8.0101.jdkdrwxr−xr−x3rootwheel1029122015jdk1.8.060.jdkJay−MacBook−Pro:JavaVirtualMachinesshidongxue
cd jdk1.8.0_101.jdk/
Jay-MacBook-Pro:jdk1.8.0_101.jdk shidongxue
lsContentsJay−MacBook−Pro:jdk1.8.0101.jdkshidongxue
cd Contents/
Home/ Info.plist MacOS/
Jay-MacBook-Pro:jdk1.8.0_101.jdk shidongxue
cdContents/Home/Info.plistMacOS/Jay−MacBook−Pro:jdk1.8.0101.jdkshidongxue
cd Contents/Home/
Jay-MacBook-Pro:Home shidongxue
cdbinJay−MacBook−Pro:binshidongxue
file java
java: Mach-O 64-bit executable x86_64
Jay-MacBook-Pro:bin shidongxue$ lipo -info java
Non-fat file: java is architecture: x86_64
./java -d32 -version
Error: This Java instance does not support a 32-bit JVM.
Please install the desired version.
所以,这样即可确认,此1.8版本的java不支持运行32位的aptana程序。
关键是aptana没得选是32位的还是64位的,所以本问题只有一个解决方法。
如果是eclipse碰到类似的问题,还可以选择安装64位的eclipse来解决。
总结:
本文除了解决了aptana在Mac的运行问题之外,包含的知识点还有:
1. mac os上的jdk 安装在哪里?
2. 如何检测一个软件是32位的还是64位的?