我正在尝试从 32 位 Ubuntu 12.04 转移到 64 位 Ubuntu 12.04。
eclipse 的 ADT 和 Android SDK 需要 32 位 Java,但我想保留刚安装的 64 位 Java 以便与 NetBeans 一起运行。有没有办法使用 apt-get 同时安装这两个,还是我必须手动安装 32 位 JDK?
这是我尝试用来设置 32 位 JDK 路径的脚本:
#!/bin/bash
#Set version JDK 32
JAVA_HOME=/opt/jdk1.7.0_25-i586
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME CLASSPATH
运行结果如下:
因此我手动输入脚本中的每个命令然后启动 eclipse 并收到此错误:
JVM terminated. Exit code=13
/opt/jdk1.7.0_25-i586/bin/java
-Xms40m
-Xmx384m
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=/usr/share/eclipse/dropins
-XX:MaxPermSize=256m
-jar /usr/lib/eclipse//plugins/org.eclipse.equinox.launcher_1.2.0.dist.jar
-os linux
-ws gtk
-arch x86_64
-showsplash
-launcher /usr/lib/eclipse/eclipse
-name Eclipse
--launcher.library /usr/lib/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.dist/eclipse_1408.so
-startup /usr/lib/eclipse//plugins/org.eclipse.equinox.launcher_1.2.0.dist.jar
--launcher.overrideVmargs
-exitdata 24e8077
-vm /opt/jdk1.7.0_25-i586/bin/java
-vmargs
-Xms40m
-Xmx384m
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=/usr/share/eclipse/dropins
-XX:MaxPermSize=256m
-jar /usr/lib/eclipse//plugins/org.eclipse.equinox.launcher_1.2.0.dist.jar
答案1
对于您的情况,我建议使用 OTN 中的 JDK tar.gz 包(x86 和 x64)并将其解压到首选目录,使用快速 shell 脚本切换 JDK 版本,例如
java脚本
#Set JDK versions
JAVA_HOME=/opt/jdk1.7.0_25
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME CLASSPATH
安装 JDK 的另一种流行方法(有点自动化,但有点耗时)
现在最流行的方式是:https://github.com/flexiondotorg/oab-java6
注意:它从 OTN 二进制文件构建 .deb 并设置本地存储库,从那里安装。
您可以运行update-alternatives --config java
并查看已安装的 JDK/JRE 并进行配置。
为了能够在 64 位 Linux 上使用 32 位 JDK
您需要安装 32 位共享库(现在 Ubuntu 使用一种称为多架构)。
如果您没有ia32-libs
安装,运行 32 位 java 时会收到 File NOT FOUND 错误。
terry@tux:/opt/jdk1.7.0_25-i586/bin$ file java
java: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, BuildID[sha1]=0xb4f81805640a786538c721d745f97f3485d03e3c, not stripped
terry@tux:/opt/jdk1.7.0_25-i586/bin$ ./java
bash: ./java: No such file or directory
这可能就是为什么 shell 脚本不起作用的原因。
注意:脚本确实完成了它的工作,请参见
which
输出
terry@tux:/opt$ source java32.sh
terry@tux:/opt$ which java
/opt/jdk1.7.0_25-i586/bin/java