我不想希望改变我的主机对 Java 的看法,只下载一个或多个 JDK,包括 OpenJDK。我需要将 JDK 作为构建系统的一部分进行测试和比较。
正如我能够毫无问题地下载并不安装 Oracle JDK 一样,我需要下载并不安装开放 JDK 的副本。网站http://openjdk.java.net/install/index.html不提供这种可能性。
有没有人找到解决办法?
最佳答案
最简单的方法是下载 OpenJDK 源代码并构建它。对于 8,它基本上可以归结为克隆正确的树集,然后执行常规构建步骤:
cd /path/to/where/you/cloned/jdk8u
mkdir build
bash ../configure # not ../configure because configure is not marked as executible
make all
在 build/下查找并搜索 j2sdk-image 目录。这是你的jdk:
cp -a build/images/j2sdk-image /location/where/i/put/my/jdks/
OpenJDK 的分发包通常包含各种更改,使其不适合移动(例如调整的 RPATH)。也就是说,如果您愿意承担风险,您可以执行以下操作:
yum --download-only install 'java-1.8.0-openjdk*'
现在你有了一堆 RPM。手动提取它们:
rpm2cpio ./name.of.rpm.x86_64.rpm | cpio -id
您应该在当前工作目录中看到 usr
和其他看起来很有趣的目录。浏览,找到 OpenJDK 目录并将其移至其他位置。例如:
cp -a usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b16.fc24.x86_64/ /location/where/i/put/my/jdks/
请注意,它是 usr/
,而不是 /usr/
。如果您在任何 ELF 文件上看到,请去除非 $ORIGIN
RPATH
。
Debian/Ubuntu 可能存在类似的东西,但我对它们不熟悉。
关于java - (仅)下载 OpenJDK 并且不安装它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40225427/