15
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Vagrant Tips#2 Oracleのjdk(1.7系)をインストールさせる

Last updated at Posted at 2014-07-20

##Vagrant Tipsのサマリページはこちら

この記事のサマリ

vagrant upしたら、jdk1.7系を自動的にダウンロードして、そのままjavaが使える環境が出来上がります。

対象読者

java(7系)のsandbox環境が欲しい方

動作確認バージョン

vagrant version
Installed Version: 1.7.4

経緯

さくっと利用できるjavaのsandbox環境が欲しかったので。

Oracleのjdkをインストールさせる

javaで開発している場合は、自動的にjdkをインストールしたいことがあると思います。ただ、yumなどを利用して実行すると、デフォルトの設定では自動的にopen-jdkがインストールされてしまいます。しかしながら、実際の開発ではoracleが提供するjdkを利用したいというケースは多いのではないでしょうか?ここでは、wgetでoracleのjdkを取得し、vagrant upを実行した際に、oracleから取得したjdkを自動的にインストールするようなサンプルを紹介いたします。
puppetやchefのようなツールは利用せず、一番シンプルなshellによるprovisioningを行っています。

Vagrantfile
Vagrant::Config.run do |config|
  config.vm.box = "centos64_6_5"
  config.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.5_chef-provisionerless.box"

  config.vm.provision "shell", path: "setup_jdk7.sh"

end
setup_jdk7.sh
#!/bin/bash

BASE_DIR="/vagrant"
RPM_DIR="${BASE_DIR}/rpm"
JDK_VERSION=7u80
BUILD_NO=b15
JAVA_RPM_NAME="jdk-${JDK_VERSION}-linux-x64.rpm"
JDK_DOWNLOAD_URL="http://download.oracle.com/otn-pub/java/jdk/${JDK_VERSION}-${BUILD_NO}/${JAVA_RPM_NAME}"

# create dir
if [ ! -d ${RPM_DIR} ]
then
  mkdir -p ${RPM_DIR}
else
  echo "${RPM_DIR} Is Already Exists So Need Not Create"
fi

# if "rpm for jdk file" is noting
if [ ! -f ${RPM_DIR}/${JAVA_RPM_NAME} ]
then
  wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" ${JDK_DOWNLOAD_URL}  -O /tmp/${JAVA_RPM_NAME}
  mv /tmp/${JAVA_RPM_NAME} ${RPM_DIR}/
else
  echo "${JAVA_RPM_NAME} Is Already Exists So Need Not Wget"
fi

# install jdk
sudo rpm -ivh ${RPM_DIR}/${JAVA_RPM_NAME}

上記shellでは、まだjdkのrpmファイルをダウンロードしていなかったらwgetによりoracleからjdkのインストール用rpmをダウンロードし、あったら既にダウンロード済みのjdkのインストール用rpmを使うようにしています。
jdkのバージョンを変更したい場合は、wgetで該当バージョンを取得するためのコマンドを調べていただき、wgetしているコマンドの組み立て部分を見直していただければそのまま利用できるかと思います。

15
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?