解决Ubuntu中root权限下无法运行Java相关命令的问题

13 篇文章 0 订阅
6 篇文章 0 订阅

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路径

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值