帮助!我无法弄清楚如何安装jdk!
[/usr/lib/jvm]$ su -c "yum install java-1.7.0-openjdk-devel"
Loaded plugins: langpacks, presto, refresh-packagekit
No package java-1.7.0-openjdk-devel available.
Error: Nothing to do
[/usr/lib/jvm]$ su -c "yum install java-1.7.0-openjdk"
Loaded plugins: langpacks, presto, refresh-packagekit
No package java-1.7.0-openjdk available.
Error: Nothing to do
[/usr/lib/jvm]$ su -c "yum install java-1.6.0-openjdk-devel"
Loaded plugins: langpacks, presto, refresh-packagekit
No package java-1.6.0-openjdk-devel available.
Error: Nothing to do
[/usr/lib/jvm]$ su -c "yum install java-1.6.0-openjdk"
Loaded plugins: langpacks, presto, refresh-packagekit
No package java-1.6.0-openjdk available.
Error: Nothing to do
这里我手动下载了一些rpm,最后一个来自oracle的网站:
[~]$ rpm -ivh java-1.7.0-openjdk-devel-1.7.0.19-2.3.9.3.fc20.x86_64.rpm
error: Failed dependencies:
java-1.7.0-openjdk = 1:1.7.0.19-2.3.9.3.fc20 is needed by java-1.7.0-openjdk-devel-1:1.7.0.19-2.3.9.3.fc20.x86_64
[~]$ sudo rpm -ivh java-1.7.0-openjdk-1.7.0.19-2.3.9.3.fc20.x86_64.rpm
Preparing... ################################# [100%]
file /usr/lib/jvm-exports/jre-1.7.0-openjdk.x86_64 from install of java-1.7.0-openjdk-1:1.7.0.19-2.3.9.3.fc20.x86_64 conflicts with file from package java-1.7.0-openjdk-1:1.7.0.9-2.3.7.0.fc18.x86_64
file /usr/lib/jvm/jre-1.7.0-openjdk.x86_64 from install of java-1.7.0-openjdk-1:1.7.0.19-2.3.9.3.fc20.x86_64 conflicts with file from package java-1.7.0-openjdk-1:1.7.0.9-2.3.7.0.fc18.x86_64
[~]$ sudo rpm -ivh jdk-7u21-linux-x64.rpm
Preparing... ################################# [100%]
file /etc/init.d/jexec from install of jdk-2000:1.7.0_21-fcs.x86_64 conflicts with file from package jdk-2000:1.6.0_38-fcs.x86_64
以下是一些调试信息:
[/usr/lib/jvm]$ yum search jdk
Loaded plugins: langpacks, presto, refresh-packagekit
=========================================================== N/S Matched: jdk ============================================================
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
jdk.x86_64 : Java(TM) Platform Standard Edition Development Kit
ldapjdk.noarch : The Mozilla LDAP Java SDK
Name and summary matches only, use "search all" for everything.
[/usr/lib/jvm]$ yum list java*
Loaded plugins: langpacks, presto, refresh-packagekit
Installed Packages
java-1.5.0-gcj.x86_64
[/usr/lib/jvm]$ cat /etc/fedora-release
Fedora release 18 (Spherical Cow)
我必须拥有“ jni.h ”,“ libjava.so ”,“ libhpi.so “,” lipverify.so “和” libjvm.so “包括在内。
到目前为止,我发现这些没有我需要的东西:
这些确实:
有人可以帮我安装jdk1.6或java-6-openjdk吗?
答案 0 :(得分:4)
这里的问题是,当你已经拥有Oracle JDK 6时,你不能使用Oracle rpm安装JDK 7,因为它试图安装已经安装并且已经安装JDK 6的/etc/init.d/jexec
脚本。
我建议坚持使用tarball或自解压*.bin
并使用JAVA_HOME,如果你打算使用Oracle发行版,因为它没有这个问题,你可能不需要jexec。
答案 1 :(得分:1)
一般情况下,我建议您安装Oracle JDK而不是OpenJDK。否则,您可能会遇到一些问题。我总是在OpenJDK上发现各种各样的问题,我甚至不再费心去尝试。
从here下载JDK RPM并按照通常的说明进行操作。它通常非常简单,没有问题。
完整的详细说明,包括如何安装here。
确保选择所需的正确版本(JDK 1.7或JDK 1.6,不要混用),因为根据您的问题,您似乎混淆了从1.5到1.7的库版本。
另外,在安装新设备之前先卸载已安装的设备,以避免冲突。
答案 2 :(得分:0)
在此处查看我的答案Transaction check error when installing Sun JDK 7
基本上你可以使用rpm --force在另一个上面安装一个JDK。当您必须针对不同的JAVA版本进行开发时,此方案完全有效。
答案 3 :(得分:0)
刚遇到同样的问题。我不习惯使用--force命令;不想冒这个系统设置安装的现有Java的风险。
我最终执行了以下操作,并使用不同用户ID在不同版本的Java上运行应用服务器。
下载了Java tar.gz版本并且未压缩:
tar -zxvf jdk-7u45-linux-x64.gz
创建目录:
mkdir /usr/java/jdk1.7.0_45
手动将内容复制到新目录:
cp -r /.../jdk1.7.0_45/* /usr/java/jdk1.7.0_45
在.bashrc和.bash_profile文件中的用户ID主目录下设置java_home:
export JAVA_HOME=/usr/java/jdk1.7.0_45
export PATH=$JAVA_HOME/bin:$PATH
export PATH=$PATH:/usr/sfw/lib/gcc:/usr/sfw/bin
答案 4 :(得分:0)
sudo rpm -i jdk-11.0.9_linux-x64_bin.rpm 或您要安装的任何软件包