日期:2014-05-16  浏览次数:20712 次

在Red hat linux enterprise 5 上安装 eclipse

在Red hat linux enterprise 5 上安装 eclipse(2009-04-12 11:22:47)

1.安装JDK
?? 我的机器上安装的是jdk6.版本是jdk1.6.0_13,下载的文件是jdk-6u13-linux-i586.bin,并且配置好环境变量,详情参 考我的文章“在Red hat linux enterprise 5 上安装 JDK 6.0"

2. 下载Eclipse
??? 我下载的是eclipse-jee-ganymede-SR2-linux-gtk.tar.gz 其是JAVA EE eclipse,能够创建Web工程,EJB工程等企业应用相关的工程.

3.安装eclipse
将下载的eclipse-jee-ganymede-SR2-linux-gtk.tar.gz拷贝到你想安装Eclipse的目录下(我这里是/usr /java,执行如下命令,
# tar -zxvf eclipse-jee-ganymede-SR2-linux-gtk.tar.gz
执行这个命令后你会看到在你所选择的目录下有了一个叫eclipse的文件夹,我这里是/usr/java/eclipse
? 在完成上面的步骤之后,你可能会认为你也大功告成了,但有可能出现的问题是当启动Eclipse时,其提示当前的JDK版本与eclipse要求的版本不 匹配,其原因是当启动Eclipse时其默认使用linux自带的jdk 如jdk 1.4.2_x等,其并没有使用我们安装的JDK1.6x.那么如何解决这个问题呢?
请看如下:
????
??? 首先需要把新安装的jdk添加到alternatives
? # alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_13/jre/bin/java 2
??? 然后使用--display选项可以查看目前系统可用的JDK:
? # ./alternatives --display java
??? 确认无误后,就可以使用--config参数来选择想用的JDK了:
? # ./alternatives --config java
??? 共有 3 个程序提供“java”。
??? 选择??? 命令
??? -----------------------------------------------
? *+ 1?????????? /usr/lib/jvm/jre-1.4.2-gcj/bin/java
???? 2?????????? /usr/java/jdk1.6.0_13/jre/bin/java
???? 3?????????? /usr/java/jdk1.6.0_13/bin/java
???? 按 Enter 来保存当前选择[+],或键入选择号码:2
???? 这里我们输入2并按 Enter 来保存.
??
到此为止你以为没问题了,但当你重新启动eclispe时 ,其可能自动关闭,为什么呢?请看如下,
"?? Summary
??? SELinux is preventing /usr/java/eclipse/eclipse from loading
??? /usr/java/jdk1.6.0_13/jre/lib/i386/client/libjvm.so which requires text
??? relocation.

Detailed Description
??? The /usr/java/eclipse/eclipse application attempted to load
??? /usr/java/jdk1.6.0_13/jre/lib/i386/client/libjvm.so which requires text
??? relocation.? This is a potential security problem. Most libraries do not
??? need this permission. Libraries are sometimes coded incorrectly and request
??? this permission.? The http://people.redhat.com/drepper/selinux-mem.html web
??? page explains how to remove this requirement.? You can configure SELinux
??? temporarily to allow /usr/java/jdk1.6.0_13/jre/lib/i386/client/libjvm.so to
??? use relocation as a workaround, until the library is fixed. Please file a
??? http://bugzilla.redhat.com/bugzilla/enter_bug.cgi against this package.

Allowing Access
??? If you trust /usr/java/jdk1.6.0_13/jre/lib/i386/client/libjvm.so to run
??? correctly, you can change the file context to textrel_shlib_t. "chcon -t
??? textrel_shlib_t /usr/java/jdk1.6.0_13/jre/lib/i386/client/libjvm.so"

??? The following command will allow this access:
??? chcon -t textrel_shlib_t /usr/java/jdk1.6.0_13/jre/lib/i386/client/libjvm.so

Additional Information??????

Source Context??????????????? system_u:system_r:unconfined_t:SystemLow-
????????????????????????????? SystemHigh
Target Context??????????????? system_u:object_r:usr_t
Target Objects??????????????? /usr/java/jdk1.6.0_13/jre/lib/i386/client/libjvm.s
????????????????????????????? o [ file ]
Affected RPM Packages???????
Policy RPM??????????????????? selinux-policy-2.4.6-30.el5
Selinux Enabled?????????????? True
Policy Type?????????????????? targeted
MLS Enabled?????????????????? True
Enforcing Mode??????????????? Enforcing
Plugin Name?????????????????? plugins.allow_execmod
Host Name???????????????????? localhost.localdomain
Platform????????????????????? Linux localhost.localdomain 2.6.18-8.el5xen #1 SMP
????????????????????????????? Fri Jan 26 14:42:21 EST 2007 i686 i686
Alert Count?????????????????? 1
Line Numbers????????????????

Raw Audit Messages??????????

avc: denied { execmod } for comm="eclipse" dev=dm-0 egid=0 euid=0
exe="/usr/java/eclipse/eclipse" exit=-