如何在Ubuntu 12.04上安装openjdk-7-jdk而不拖入无关的GUI和声音包?


16

Ubuntu 12.04.2 LTS

这里发生了什么?

# apt-get install openjdk-7-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  consolekit cryptsetup-bin dbus-x11 dconf-gsettings-backend dconf-service
  gconf-service gconf-service-backend gconf2 gconf2-common gvfs gvfs-common
  gvfs-daemons gvfs-libs libatasmart4 libavahi-glib1 libbonobo2-0
  libbonobo2-common libcairo-gobject2 libcanberra0 libck-connector0
  libcryptsetup4 libdconf0 libfontenc1 libgconf-2-4 libgconf2-4 libgdu0
  libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgnome-keyring-common
  libgnome-keyring0 libgnome2-0 libgnome2-bin libgnome2-common libgnomevfs2-0
  libgnomevfs2-common libgtk-3-0 libgtk-3-bin libgtk-3-common libgudev-1.0-0
  libidl-common libidl0 libllvm3.0 libltdl7 liblvm2app2.2 liborbit2
  libpam-ck-connector libpolkit-agent-1-0 libpolkit-backend-1-0 libsgutils2-2
  libtdb1 libvorbisfile3 libx11-xcb1 libxaw7 libxcb-glx0 libxcb-shape0 libxmu6
  libxpm4 libxv1 libxxf86dga1 libxxf86vm1 mtools openjdk-7-jre policykit-1
  policykit-1-gnome sound-theme-freedesktop udisks x11-utils

是否可以在不使用Gnome和X11一半的情况下安装JDK?和声音主题?这是一台无头(无扬声器)服务器。


2
添加--no-install-recommends选项是否有帮助?
gertvdijk 2013年

3
为什么在无头服务器中需要Java Development Kit?如果只想运行Java应用程序,则通常只需要运行时环境。尝试看看是否openjdk-7-jre-headless适合您的需求。
埃里克·卡瓦略

10
@EricCarvalho这是一个用例:构建Java源代码的持续集成服务器。在无头服务器上构建Java软件并不是那么奇特。
gertvdijk 2013年

3
@gertvdijk知道了。然后我认为这是一个错误。应该有一个openjdk-7-jdk-headless软件包。
埃里克·卡瓦略

Answers:


9

更新

我个人尝试避免使用Java,因为我认为它非常笨拙。这些说明来自各种来源,我最近不得不安装Java,它应该对您有用。

如果许可要求允许,请安装Oracle Java。从此处下载Java ,您需要根据安装的内容选择所需的Java 。

JDK x64

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz

JDK x32

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.tar.gz

杰瑞x64

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jre-7u51-linux-x64.tar.gz

杰瑞x32

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jre-7u51-linux-i586.tar.gz

请注意,您需要一种变通办法wget,使oracle与oracle一起玩。

创建一个目录,Java将在其中存放:

sudo mkdir -p /usr/lib/jvm

移动下载的Java:

sudo mv jdk-7u51-linux-x64.tar.gz /usr/lib/jvm

提取Java:

sudo tar zxvf jdk-7u51-linux-x64.tar.gz

告诉Ubuntu Java存在:

sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_51/bin/javac 1
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_51/bin/java 1
sudo update-alternatives --set javac /usr/lib/jvm/jdk1.7.0_51/bin/javac
sudo update-alternatives --set java /usr/lib/jvm/jdk1.7.0_51/bin/java

将Java路径添加到系统配置文件,以便机器知道Java二进制文件在哪里:

sudo nano /etc/profile

在文件末尾添加以下内容:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME
export PATH

保存并重新启动。

测试您的Java安装:

java -version

1
这对我有用。我所做的唯一更改是从当前jdk目录/usr/lib/jvm/jdk1.7.0_45添加到通用位置的符号链接:/ usr / lib / jvm / java-7-oracle这种方式没有每次更新JDK时都会更新/ etc / profile(以及可能的其他应用程序位置)中的路径。同样,许多程序(例如elasticsearch)在/ usr / liv / jvm / java-7-oracle中查找Java作为默认位置之一。
2014年

2

很老的东西,但是如果有人正在寻找它,只需安装openjdk-7-jre-headless或openjdk-6-jre-headless


现在的问题是专门问第7版
大卫·福斯特

5
jre!= jdk没有jdk没头
Dr.Haribo 2014年

除了不是:“ openjdk-8-jre-headless”依赖于16.04中的“ libx11-6”,这最终会拖入整个X11。
ThisGuy

-1

我认为从源代码安装时跳过任何依赖关系不是一个好主意。您不能一直跳过这一步。当您使用apt-get更新依赖项时,也将在此处进行检查。


3
“从源安装时” OP不是从源安装。
gertvdijk 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.