Linux Ubuntu安装JDK Eclipse CDT遇到的问题
在Ubuntu下面的C/C++ IDE真的没发现满意的,codeblocks体积挺小,但是总是用不习惯。所以想装个Eclipse试一下。要用Eclipse的话,必须先装jre或者jdk。为了以往万一那一天想在Ubuntu下面写java程序,就选择了安装jdk。结果jdk的安装问题不是很大,但是配置环境变量的时候出了一些问题。照着网上的教程设置环境变量:修改了/etc/profile和/etc/environment两个文件,添加了JAVA_HOME JRE_HOME CLASSPATH PATH等环境变量,之后又export。重启Ubuntu令我大跌眼镜:输入用户名密码后进不了GNOME,提示:会话持续不到10秒钟,如果您没有注销,说明安装出现了问题。或者……。
解决方案是:在Ubuntu的登录界面,按Ctrl+Alt+F1进入控制台,然后用vi编辑器把修改过的profile文件和environment文件再修改过来。然后Logout,再Ctrl+Alt+F7返回登录界面,成功登陆。如果不会用vi编辑器,请参考http://www.cnblogs.com/younes/archive/2009/12/09/1620581.html。这次,从心底里面体会到了学习vi编辑器的用处。当你进入不了GNOME的时候,只有vi可以用。不然,你用飞机编辑文本文件?O(∩_∩)O~
问题解决进入Gnome后,虽然profile文件和environment文件都被恢复到以前的状态(没有关于java环境变量的配置),但是在控制台输入java、javac也都是正常的显示信息。到现在我也很诧异,可能怪自己对Linux理解的太肤浅,或者根本就不理解吧。
Eclipse的安装,我在Ubuntu安装Eclipse主要是想写C/C++程序,所以直接下了一个Eclipse for C/C++安装。安装过程中涉及到将Eclipse添加到Gnome开始菜单和桌面。记录如下:
1. Eclipse的安装与配置
1.1 从eclise.org下载Eclipse开发平台
如类似以下的文件:eclipse-java-europa-fall2-linux-gtk.tar.gz.
1.2 解压文件
sudo mkdir /usr/local/dev
sudo mkdir /usr/src/dev
sudo cp eclipse-java-europa-fall2-linux-gtk.tar.gz /usr/src/dev/
cd /usr/src/dev
tar zxvf eclipse-java-europa-fall2-linux-gtk.tar.gz -C /usr/local/dev
1.3 建立一个Eclipse可执行文件
sudo touch /usr/bin/eclipse //更改文件Eclipse的访问时间,如果文件不存在,则新建立一个。
sudo chmod 755 /usr/bin/eclipse
sudoedit /usr/bin/eclipse
内容如下:
#!/bin/sh
export ECLIPSE_HOME="/usr/local/dev/eclipse"
$ECLIPSE_HOME/eclipse $*
现在打开Terminal,执行"eclipse"应该能打开Eclipse了。
1.4 添加Eclipse到Gnome菜单中
sudoedit /usr/share/applications/eclipse.desktop
内容如下:
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=eclipse
Icon=/usr/local/dev/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=trueEclipse CDT安装好了以后,却发现根本没有想象的好。代码补全功能不能用。还遇到一个问题:建立empty C++ project运行的时候提示binary not found。 建立hello world C++ project可以正常的运行。
其实当你遇到问题的时候,也是一个通过解决问题学习到知识的机会。此次遇到的问题,还涉及到了以下的知识:
linux设置环境变量的三种方法:
1.Linux的变量种类
按变量的生存周期来划分,Linux变量可分为两类:
1. 永久的:需要修改配置文件,变量永久生效。
2. 临时的:使用export命令声明即可,变量在关闭shell时失效。
2.设置变量的三种方法
1. 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
2. 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
例如:编辑guok用户目录(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下内容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。
3. 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
参考:http://eagle516.javaeye.com/blog/355074 http://www.javaeye.com/topic/158133 http://hi.baidu.com/hkdao/blog/item/8f15831aeb9464bd4bedbc63.html