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=true

Eclipse 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

 

原文地址:https://www.cnblogs.com/younes/p/1629584.html