【问题标题】:which non-sun java(s) can i use to run Clojure?我可以使用哪些非 Sun Java 来运行 Clojure?
【发布时间】:2009-12-24 18:39:19
【问题描述】:

我正在自动化为项目构建开发虚拟机的过程,并且很难将 sun-java-6 安装在非交互式环境中,因为它真的想询问许可证。就 clojure 友好的 java 而言,我还有哪些其他选择?

【问题讨论】:

  • 我需要通过 apt 在 ubuntu 9.10+ 上安装
  • 据我所知,Clojure 尚未在 Sun 以外的任何其他 VM 上运行。
  • 可能只与 Mac 平台相关,但我使用 SoyLatte 运行 Clojure。

标签: java clojure sun


【解决方案1】:

如果我没记错的话,可以明确设置“接受许可证”位,因为安装过程的输出表明许可证已在稍后阶段被接受。因此,请查看 Ubuntu 软件包并弄清楚如何执行此操作。

我不会采用 OpenJDK 的方式,因为我认为它尚未通过 TCK。


编辑:看来这是这样做的方法:

DEBIAN_FRONTEND=noninteractive apt-get install -y java5-sun-jre || :
debconf 'echo SET shared/accepted-sun-dlj-v1-1 true; echo $(read) >&2'
apt-get install -y java5-sun-jre

http://ubuntuforums.org/showpost.php?p=6752243&postcount=9

【讨论】:

【解决方案2】:

任何经过认证的 JVM 都可以做到这一点——例如JRockit。有一个 JVM 列表here。请注意,其中一些适用于嵌入式平台等,因此不适用。

【讨论】:

  • 它没有需要被认证。兼容就够了。有些 JVM 兼容但未经认证,因为要获得认证,您必须运行 Sun 的测试套件,但测试套件的许可方式是有时不允许开源 JVM 运行它。
  • 好吧,我说认证的原因是为了将设备减少到那些被证明是兼容的。作为一名开发人员,我会在明显兼容的 JDK 上进行开发
  • 它们明显兼容的。 Sun 只是确保他们说出来是非法的。这样竞争就少了。他们确实通过了测试套件,但他们只是不能承认,因为这意味着承认违反了许可证并因此触犯了法律。
【解决方案3】:

OpenJDK 没有 EULA,可以非交互方式安装。另见http://openjdk.java.net/install/

【讨论】:

  • 你用过最新的clojure吗?
  • 好吧,我刚刚使用 OpenJDK Runtime Environment (IcedTea6 1.6.1) (6b16-1.6.1-3ubuntu1)Clojure 1.1.0-master- SNAPSHOT,一切似乎都在工作。
【解决方案4】:

至少在 Ubuntu 9.04 中,我使用了 OpenJDK 并且没有任何问题,尽管我从来没有把它打败到足以说有 0 个问题,而且这是在最近的 1.1 RC 之前,所以那里的情况也可能发生了变化。但是它完全可用,我怀疑这已经改变了。

【讨论】:

    【解决方案5】:

    嗯。您是否尝试过使用可再分发的 JRE?我知道当我为某些 Windows 软件编写安装程序时,您所要做的就是提取目录结构,它就可以正常工作。

    【讨论】:

    • 这些虚拟机是供开发人员用来构建应用程序的,所以我认为他们需要 JDK?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多