使用JavaPackage为JDK8生成.deb

时间:2018-03-07 02:43:17

标签: java deb

我正在尝试在Debian Stretch上安装JDK8。建议的方法是使用JavaPackage

我已经使用这种方法成功打包了JDK6和JDK7:

  • Oracle
  • 下载JDK档案
  • fakeroot make-jpkg jdk-7u55-linux-x64.tar.gz
  • dpkg -i the-resulting.deb

我可以从JDK8存档成功创建.deb,但是当我用dpkg安装它时,我很少很多依赖项。

gnome-icon-theme gtk-update-icon-cache java-common libasound2 libasound2-data libatk1.0-0 libatk1.0-data libcroco3 libdrm-amdgpu1 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libgail-common libgail18 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libllvm3.9 libpciaccess0 librsvg2-2 librsvg2-common libtxc-dxtn-s2tc libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-sync1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxshmfence1 libxtst6 libxxf86vm1 x11-common

我可以手动安装它们,但我不确定为什么我没有早期JDK的这种依赖性问题。我正在编写一个安装脚本,我只想安装一个.deb而不必单独安装所有额外的依赖项。

make-jpkg根据其手册页支持JDK8。

   make-jpkg builds a Debian package from the given Java distribution FILE.
   Supported java binary distributions currently include:
     * Oracle (http://www.oracle.com/technetwork/java/javase/downloads) :
       - The Java Development Kit (JDK), version 6, 7 and 8
       - The Java Runtime Environment (JRE), version 6, 7 and 8
       - The Java API Javadoc, version 6, 7 and 8
     (Choose tar.gz archives or self-extracting archives, do _not_ choose the RPM!)

任何人都可以提供一些见解,了解为什么从早期JDK创建的.deb不需要任何额外的依赖项。或许这只是他们的依赖关系已经存在于Debian安装库中的情况。

编辑:我在Server Fault找到了这个帖子,它解释了它:

  

发生这种情况的原因是您正在从二进制发行版构建deb包,即预编译的JDK。通常,Debian软件包是从源代码构建的,而不是从二进制文件构建的。为了做到这一点,构建包的人将把源所依赖的所有库添加到某个文件(debian / control)。如果没有安装这些库,则无法编译源代码,因此不会生成包。

0 个答案:

没有答案