Linux sun jdk和open jdk会冲突导致oracle安装失败吗?

不会有冲突。用的时候需要做一个主目录,指向那个jdk就可以用哪个版本了。

Openjdk是jdk的开源版本,以GPL协议的形式发布。JDK7的时候,openjdk已经成为jdk7的骨干开发。sun jdk7是在openjdk7的基础上发布的,大部分源代码都是一样的,只有少部分被替换了。使用JRL(Java search许可证)发布。

JDK和OpenJDK之间的差异可以总结如下:

1,不同的授权协议:

Openjdk是由GPL V2协议发布的,而jdk是由JRL发布的。虽然这两个协议都是开源的,但使用上的区别是GPL V2允许用于商业用途,而JRL只允许用于个人研究。

OpenJDK不包括部署功能:

部署的功能有:浏览器插件、Java Web Start、Java控制面板,这些都是Openjdk中没有的。

2.OpenJDK的源代码不完整:

我们很容易想到,在采用GPL协议的Openjdk中,sun jdk的部分源代码因为产权问题不能被openjdk使用,而最重要的部分是JMX可选组件SNMP的代码。所以这些非开源代码让它plug for OpenJDK编译,也可以选择不使用plug。Icedtea为这些不完整的部分开发了相同的函数源代码(OpenJDK6),使得OpenJDK更加完整。

3.一些源代码被开放源代码所取代:

由于产权问题,很多产权不是SUN的源代码被一些功能相同的开源代码代替,比如字体光栅化器,用Free Type代替。

Openjdk只包含最简单的jdk:

OpenJDK不包含其他软件包,如Rhino Java DB JAXP……...而且能分开的软件包也尽量分开,不过大部分都是免费软件,你可以自己下载加入。

4.你不能使用Java商标:

这个很好理解。在安装openjdk的机器上,键入“java -version”显示openjdk,但如果是带有Icedtea补丁的openjdk,则显示java。(未验证)

总之,在Java系统中,还有很多元素是不自由的,源代码的开发也不够彻底。我希望Oracle能让JCP变得更加自由和开放,这是所有Java社区所希望的。