OpenJDK在Windows操作系统上的可用性

202

是否有可用于Windows的OpenJDK安装程序,可能比Oracle提供的更长时间免费更新? OpenJDK主页(http://openjdk.java.net/)仅提供ZIP文件。


也许Oracle发行版是新手入门的最佳选择。http://www.oracle.com/technetwork/java/javase/downloads/index.html 这是基于OpenJDK的,差异相当微不足道。 - Peter Lawrey
25
需要注意的是OpenJDK和Oracle发行版有不同的许可条款。Oracle发行版仅授权在通用计算机上使用。如果您需要应用于嵌入式设备,则需与Oracle协商许可证,他们很可能期望获得金钱补偿。 - Howard May
1
我真的不认为推荐规则适用于这样一个具体的问题?在这里似乎没有太多的发表意见的空间:“它是OpenJDK吗?”,“它是为Windows吗?”和“我可以下载它吗?”所有这些都是相当明确的条件,而且我们显然正在讨论预构建的二进制文件,因为该问题已经链接到构建说明... - SamB
1
它们在此Github页面上链接:https://github.com/ojdkbuild/ojdkbuild - BrainSlugs83
1
对于最新的Oracle JDK 1.7(Update 80)公共版本,这里是一个有效的链接:https://archive.org/download/jdk-7u80-windows-x64_201809/jdk-7u80-windows-x64.exe 我已经验证了这个二进制文件是合法的,并且与直接从Oracle获取的文件匹配(在你通过他们愚蠢的注册和账户创建之后)。相信我,我是互联网上的一个人。 - Jordan Rieger
显示剩余2条评论
11个回答

194
你可以在openjdk-unofficial-builds GitHub 项目中找到适用于Windows的OpenJDK 6和7二进制文件。
更新:适用于Windows x86_64的OpenJDK 8和11 LTS二进制文件可以在ojdkbuild GitHub 项目中找到。
免责声明:这些二进制文件是我自己构建的。
更新(2019年):现在可以获取适用于8和11的OpenJDK更新项目构建

1
+1!不好意思问一下,如果代码似乎在Github上,那为什么二进制文件要托管在Bitbucket上呢? - n611x007
5
在第一次发布这些构建之后,@naxa的GitHub关闭了下载部分。在Bitbucket上有一个完整的项目镜像,不仅包括二进制文件。 - alexkasko
2
我要给这个点踩。没有人身攻击的意思,但是一个由互联网上某个人构建的OpenJDK构建版本很难被信任。那么ojdkbuild实体是谁?我怎么知道我没有分发恶意软件? - Lukas Eder
2
@LukasEder,没有冒犯之意,我在红帽公司负责jdk-windows构建,分发在developers.redhat.com上的jdk构建基于ojdkbuild。关于ojdkbuild项目的可能跟进问题,请在GitHub上开个问题或者发布到ojdkuild邮件列表中——我会在那里进行评论。 - alexkasko
2
@alexkasko:很酷。经过一些调查,我注意到你正在为红帽工作,但我真的希望在谷歌上首先出现的是某些稍微正式一些的东西,而不是个人的努力。也许,那个ojdkbuild github页面和小组也可以更正式一些。我明天一定会创建一个问题。 - Lukas Eder
显示剩余3条评论

55
如果你还在寻找 Windows 版本的 OpenJDK,Azul Systems 在去年推出了 Zulu 产品线。Zulu 发行版的 OpenJDK 在 Windows 和 Linux 上都进行了构建和测试。尽管 OpenJDK 7 和 6 也都可用,但我们在本周发布了 OpenJDK 8 版本。以下 URL 提供免费下载、Zulu 社区论坛以及其他详细信息。 http://www.azulsystems.com/products/zulu 这些是二进制下载文件,所以您不需要从头开始构建 OpenJDK 来使用它们。
我可以证明,在 Windows 上构建 OpenJDK 6 并非一项轻松的任务。到目前为止,我们已经为 x64 构建了 6 种不同的平台(OpenJDK6、OpenJDK7 和 OpenJDK8 的 Windows 和 Linux 版本),其中 Windows OpenJDK6 构建需要付出最多的努力,以消除在 Windows 上无法正常工作或无法通过 Java SE 6 技术兼容性测试套件协议的问题。
声明: 我是 Zulu 的产品经理。您可以在此处查看我的 Zulu 发布通知: https://support.azulsystems.com/hc/communities/public/topics/200063190-Zulu-Releases 希望这能帮助到您。

3
目前仅提供 Windows 的 64 位版本。是否有计划推出 Windows 的 32 位版本,或者这方面没有计划? - Henri Benoit
2
@MattSchuetze:你有Windows服务器OpenJRE(而不是默认的客户端OpenJRE)吗? - anjanb
1
作为更新,Azul现在在Zulu社区网站上发布所有Zulu社区JDK镜像:http://zulu.org/download/。任何人 - 像@benohead一样 - 对Intel和现在的ARM 32位目标感兴趣,可以了解有关Zulu嵌入式产品系列的更多信息:https://www.azul.com/products/zulu-embedded/。这些镜像是根据您的规格创建的,因此可以是服务器、客户端或两者兼备,并且可以选择JRE、JDK或紧凑型配置文件。 - Matt Schuetze
1
@Pacerier,我们仍然看到对备选供应商的需求,需要专业支持的OpenJDK发行版,该版本通过所有TCK认证标准。我们最新的Zulu发布版提供ARM v8 64位支持,因此在Zulu产品线中,Azul旨在覆盖广度和深度,远远超出了这里所提出的原始Windows问题。希望这可以帮助到您。 - Matt Schuetze
1
供应商多样性。涵盖大型供应商不会探索的利基市场。灵活的反应时间。对抗权威。我相信还有很多其他原因,最终归结为个人偏好。Java不像其他商品(比如汽油或盐)那样可替代,因此消费者选择仍然起着作用。顺便说一句,我仍然是Oracle的忠实粉丝,他们在Java社区中开放的工作仍然技术卓越。虽然如果你将推理扩展到Linux,那么我们就不需要CentOS、Ubutntu、Debian、Alpine和Gentoo了。但我们拥有它们和更多。 - Matt Schuetze
显示剩余10条评论

20

从Java 12开始,Oracle官方提供了OpenJDK(GPL2 + Classpath Exception)的正式通用可用性(GA)和早期访问(EA)Windows 64位版本,可以从JDK网站下载tar.gz/zip文件。

如果您更喜欢安装程序,则有几个发行版可供选择。 Java Champions社区有一份公共Google文档博客文章列出了最受支持的OpenJDK发行版。 目前包括:

  • OpenLogic OpenJDK
  • Red Hat OpenJDK
  • SAPMachine(由SAP支持)
  • Zulu Community(由Azul Systems支持)

  • https://jdk.java.net/archive/ 这个链接现在更加相关。 - Line
    值得一提的是,AdoptOpenJDK将以Adoptium的名义移至Eclipse基金会。请参阅https://blog.adoptopenjdk.net/2020/06/adoptopenjdk-to-join-the-eclipse-foundation。 - Alejandro Duarte
    事实是,由于某种原因,这个问题一年前被关闭了,而一个更新的重复问题却保持开放状态:https://dev59.com/2FQK5IYBdhLWcg3wEr4X#67103552 - Bernhard Stadler

    16

    我最近发现了这个网站:https://adoptopenjdk.net/

    我认为它很可靠。虽然我还没有尝试过,但肯定会试一试。

    许可证:

    许可证 构建脚本及其他用于生成二进制文件、网站和其他构建基础设施的代码使用Apache许可证第2版许可。OpenJDK代码本身使用带有Classpath Exception的GPL v2许可。

    编辑: 我也很高兴得知AdoptOpenJDK MSI安装程序(JDK和JRE)现在带有IcedTeaWeb,这是Oracle WebStart的替代品,简单的安装程序几乎只需“下一步-下一步-完成”,JWS应用程序的工作方式与以前相同。


    12

    Red Hat宣布他们将为Windows平台分发OpenJDK:

    http://developers.redhat.com/blog/2016/06/27/openjdk-now-available-for-windows/

    编辑(感谢CaseyB的评论):在Windows上没有生产支持。从文档中可以看到:

      

    所有Red Hat OpenJDK 8版本的Windows发行版都支持与JBoss Middleware协同工作的应用程序开发,因此您可以在Windows或基于Linux的环境中开发和测试,并将解决方案部署到100%兼容、完全支持的Red Hat Enterprise Linux上的OpenJDK 8。


    3
    红帽的许可证规定,服务仅供“开发目的”,而在程序提供的服务下用于生产安装是违反条款的。因此我们似乎不能将此安装程序分发给付费客户,甚至不能让他们自己安装以进行生产目的?在这里阅读。GitHub 二进制文件的条款似乎更加清晰。 - Casey B.
    @CaseyB。好的,我知道了。我会修改我的答案,以便那些不阅读评论的人可以看懂。但是当我阅读https://developers.redhat.com/products/openjdk/overview/时,我没有看到我们是否必须订阅Red Hat的开发者计划(所以我不确定是否存在违规行为)。但显然在Windows上没有生产支持。 - mcoolive
    现在可以下载Windows安装程序。请访问https://developers.redhat.com/products/openjdk/download/。 - Master Azazel
    Redhat 不能以那种方式限制苹果代码的分发。 - eckes
    这不是开源(免费)的,对吧? - Valsaraj Viswanathan

    6
    OpenSCG维护32位Windows和其他操作系统的OpenJDK 6安装程序
    要进行配置,创建一个JAVA_HOME环境变量,并将其设置为C:\OpenSCG\openjdk-6.0.24或当前版本。然后将%JAVA_HOME%\bin;添加到您的PATH环境变量的开头。
    您可以通过上下文单击计算机(我的电脑),选择属性,如果您在Windows 7中,则单击高级系统设置,单击高级选项卡,然后单击环境变量来编辑您的环境变量。

    这个支持图形界面应用程序吗,还是只能使用命令行? - Robert Klemme
    网站已不存在。 - Jokkeri

    5

    只有OpenJDK 7可用。OpenJDK6基本上是与SUN版本相同的代码库,这就是为什么它会将您重定向到官方Oracle网站。


    12
    我想知道为什么没有针对Windows的OpenJDK 6二进制下载。尽管Oracle JDK基本上是相同的东西,但对于Linux和Solaris也可以这样说:它们基本上是相同的东西,那么为什么还要提供这些平台的OpenJDK二进制文件呢? - Joachim Sauer
    1
    我找不到OpenJDK二进制文件了。有人知道是否还可以在哪里找到它们吗? - eckes
    @eckes 在 http://www.java7developer.com/blog/?p=55 中似乎表明(在结尾的评论中)要返回到 Oracle 网站... - VonC
    1
    @VonC 我实际上找到了Sun的官方编译器,也就是Java SE 7的RI。然而他们声称不会再更新它:http://download.java.net/openjdk/jdk7/promoted/b146/jcp_bcl/ - eckes
    2
    @eckes:非常有趣。我已经相应地更新了https://dev59.com/-Wox5IYBdhLWcg3wk1Ig#9113640。 - VonC

    5

    正确的链接现在是 https://jdk.java.net/archive/。 - Line

    4

    一种有长期支持的有趣选择是Corretto,最近由James Gosling在DevOXX上宣布。它是Open Java Development Kit(OpenJDK)的免费、多平台、适用于生产的发行版。 Corretto提供长期支持,包括性能增强和安全修复。目前提供Java版本8和11(12即将推出),您可以下载所有主要平台的二进制文件:

    • Linux
    • Microsoft Windows
    • macOS
    • Docker

    第二个有趣的选择是由阿里巴巴提供的Dragonwell。它是友好的分支,但他们希望定期将其更改上游到openjdk repo中...目前他们提供Java8,但是他们有有趣的东西,例如从11到8的回溯 Flight Recorder ...

    第三个值得关注的是其他人已经提到的adoptOpenJDK倡议。


    "docker"? 就是指 Linux 吗? - user371366
    更多详细信息请参见此处:https://hub.docker.com/_/amazoncorretto - Lonzak
    叹息。不,我知道什么是Docker,但“Docker”不是操作系统。你的列表毫无意义,这就好像你说“Linux、Microsoft Windows、macOS、Apt”一样。 - user371366
    叹息,太对了。所以我们都知道什么是Docker。但是如果您仔细阅读,就会发现我没有写操作系统,而是平台。而Docker是领先的容器平台……案件解决。 - Lonzak

    0

    您可以前往AdoptOpenJDK下载由伟大社区提供的所有平台的二进制文件。


    因为它是重复的,所以我会给它负面评分:https://dev59.com/hW025IYBdhLWcg3wc1xM#54195622 - Line

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接