解决Ubuntu中root权限下无法运行Java相关命令的问题
2012-12-21 13:12
627 查看
Tip: 近来编译展讯Android代码,因为编译要求root权限,可是很多时候在root下就无法使用java、javac等相关命令,导致编译无法通过
原因:root运行java都是 /usr/bin/java这个引用,由于ubuntu中可能会引用默认的JDK,如openjdk,所以我们是否安装JDK对它完全没有影响
解决办法:手动替换默认的Jdk版本
执行代码:
sudo update-alternatives --config java
系统会列出各种JDK版本,如下所示:
有 3 个候选项可用于替换 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自动模式
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手动模式
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 手动模式
3 /usr/lib/jvm/java-7-sun/bin/java 300 手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:3
update-alternatives: 使用 /usr/lib/jvm/java-7-sun/bin/java 来提供 /usr/bin/java (java),于 手动模式 中。
亦可直接更改,如:
sudo update-alternatives --install /usr/bin/java java/usr/share/java/jdk1.6.0_37/bin//java 300
sudo update-alternatives --install /usr/bin/javac javac/usr/share/java/jdk1.6.0_37/bin/javac 300
sudo update-alternatives --install /usr/bin/javah javah /usr/share/java/jdk1.6.0_37/bin/javah 300
sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/share/java/jdk1.6.0_37/bin/javadoc 300
上面=“/usr/share/java/jdk1.6.0_37/bin/”为你安装Jdk的bin路径
原因:root运行java都是 /usr/bin/java这个引用,由于ubuntu中可能会引用默认的JDK,如openjdk,所以我们是否安装JDK对它完全没有影响
解决办法:手动替换默认的Jdk版本
执行代码:
sudo update-alternatives --config java
系统会列出各种JDK版本,如下所示:
有 3 个候选项可用于替换 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自动模式
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手动模式
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 手动模式
3 /usr/lib/jvm/java-7-sun/bin/java 300 手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:3
update-alternatives: 使用 /usr/lib/jvm/java-7-sun/bin/java 来提供 /usr/bin/java (java),于 手动模式 中。
亦可直接更改,如:
sudo update-alternatives --install /usr/bin/java java/usr/share/java/jdk1.6.0_37/bin//java 300
sudo update-alternatives --install /usr/bin/javac javac/usr/share/java/jdk1.6.0_37/bin/javac 300
sudo update-alternatives --install /usr/bin/javah javah /usr/share/java/jdk1.6.0_37/bin/javah 300
sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/share/java/jdk1.6.0_37/bin/javadoc 300
上面=“/usr/share/java/jdk1.6.0_37/bin/”为你安装Jdk的bin路径
相关文章推荐
- 解决无法在java程序中运行cmd命令的问题
- Ubuntu解决运行startx命令后出现登陆密码正确但无法进入桌面问题
- ubuntu sudo 命令显示 "sudo 无法解析主机" 的问题解决
- ResGen.exe 可能无法运行,因为命令行的长度为XX个字符,超过了命令的最大长度。若要解决此问题,请 (1) 删除不需要的程序集引用,或者 (2) 缩短这些引用的路径。
- 解决ubuntu 终端tab键无法命令补全的问题
- ubuntu登录自动运行脚本(解决root权限问题)
- java命令无法运行class的解决方法
- Ubuntu16.04解决无法切换root权限的问题
- 使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
- Ubuntu在/etc/profile中配置好了Java环境,运行Java子命令无效问题(~/.bashrc等文件分析)
- 解决ubuntu 64位无法运行steam的问题
- [ubuntu] 解决 eclipse 在启动器上无法运行的问题
- javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题解决起来很简单
- 【转载】使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
- 解决 Ubuntu 下 网易云音乐 1.2 无法运行的问题
- 在命令行界面使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
- Ubuntu16.04解决无法切换root权限的问题
- 解决ubuntu 64位系统 无法运行32位程序的问题
- JAVA之JDBC的相关问题(无法与SQLServer连接的解决)
- ubuntu下chsh命令无法改变默认shell的问题(已解决)