重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Linux下java环境变量设置的完整步骤:从java.sun.com上下载JDK的安装文件,一般是jdk1.5.0_10_XXXX.bin的格式。 解开生成JDK目录,这里假设JDK安装在/usr/java/jdk1.5.0_10中: 代码:sudo chmod 755 jdk1.5.0_10_XXXX.bin sudo ./jdk1.5.0_10_XXXX.bin sudo mkdir /usr/java sudo mv jdk1.5.0_10/ /usr/java代码: sudo gedit /etc/profile在这个文件的末尾追加:代码:export JAVA_HOME=/usr/java/jdk1.5.0_10/ #注意把新添加的JDK的bin目录追加在$PATH的最前面,这样当系统中安装有多个JDK版本时,程序会优先搜寻排在最前面的JDK版本。 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH保存/etc/profile之后,别忘了执行下面这个命令,使环境变量的更改马上起作用。 代码:source /etc/profile如果执行上面这个命令时报错,请仔细检查你在/etc/profile里新增的文本是不是有错。最后检查环境变量更改是否生效: 代码:java -version
在东港等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、成都网站建设 网站设计制作定制网站设计,公司网站建设,企业网站建设,高端网站设计,营销型网站建设,外贸网站制作,东港网站建设费用合理。
在Linux下某些编译要求root权限,可是很多时候在root下就无法使用java、javac等相关命令,导致编译无法通过。
分析原因:
root运行java都是 /usr/bin/java这个引用,由于Linux中可能会引用默认的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),于手动模式中。
1.下载JDK以JavaSEDevelopmentKit7u5为例:2.解压安装我们把JDK安装到这个路径:/usr/lib/jvm如果没有这个目录(第一次当然没有),我们就新建一个目录cd/usr/libsudomkdirjvm建立好了以后,我们来到刚才下载好的压缩包的目录,解压到我们刚才新建的文件夹里面去,并且修改好名字方便我们管理sudotarzxvf./jdk-7-linux-i586.tar.gz-C/usr/lib/jvmcd/usr/lib/jvmsudomvjdk1.7.0_05/jdk73.配置环境变量gedit~/.bashrc在打开的文件的末尾添加exportJAVA_HOME=/usr/lib/jvm/jdk7exportJRE_HOME=${JAVA_HOME}/jreexportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexportPATH=${JAVA_HOME}/bin:$PATH保存退出,然后输入下面的命令来使之生效source~/.bashrc4.配置默认JDK由于一些Linux的发行版中已经存在默认的JDK,如OpenJDK等。所以为了使得我们刚才安装好的JDK版本能成为默认的JDK版本,我们还要进行下面的配置。执行下面的命令:sudoupdate-alternatives--install/usr/bin/javajava/usr/lib/jvm/jdk7/bin/java300sudoupdate-alternatives--install/usr/bin/javacjavac/usr/lib/jvm/jdk7/bin/javac300注意:如果以上两个命令出现找不到路径问题,只要重启一下计算机在重复上面两行代码就OK了。执行下面的代码可以看到当前各种JDK版本和配置:sudoupdate-alternatives--configjava5.测试打开一个终端,输入下面命令:java-version显示结果:javaversion"1.7.0_05"Java(TM)SERuntimeEnvironment(build1.7.0_05-b05)JavaHotSpot(TM)ServerVM(build23.1-b03,mixedmode)这表示java命令已经可以运行了。
程序里面sudo是没用的,因为sudo需要输入密码(PS:除非配置了当前用户sudo不用密码),所以一般最好的解决办法就是用root的身份运行这段java代码
是不是sudo需要密码的关系?
可以尝试设置sudo不需要密码,不过不推荐。
或者尝试下面的代码,mypassword是sudo密码,不过感觉也不是很好。。
String command = "echo mypassword | sudo -S service sshd start";
密码加密以后保存到文件中可能好些。。