Enviar pesquisa
Carregar
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
•
22 gostaram
•
13,452 visualizações
Y Watanabe
Seguir
あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと 第10回#渋谷Java トーク資料 at 株式会社ビズリーチ 2015.3
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 26
Baixar agora
Baixar para ler offline
Recomendados
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
Y Watanabe
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
Yuuki Fukuda
Arachne Unweaved (JP)
Arachne Unweaved (JP)
Ikuru Kanuma
20141116 jjug ccc_2014_keynote1_public
20141116 jjug ccc_2014_keynote1_public
Yoshiharu Hashimoto
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
Taichi Watanabe
Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)
Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)
sogdice
Java web application testing
Java web application testing
Tokuhiro Matsuno
Turnipによるエンドツーエンドテストことはじめ
Turnipによるエンドツーエンドテストことはじめ
Takayuki Ujita
Recomendados
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
Y Watanabe
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
Yuuki Fukuda
Arachne Unweaved (JP)
Arachne Unweaved (JP)
Ikuru Kanuma
20141116 jjug ccc_2014_keynote1_public
20141116 jjug ccc_2014_keynote1_public
Yoshiharu Hashimoto
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
Taichi Watanabe
Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)
Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)
sogdice
Java web application testing
Java web application testing
Tokuhiro Matsuno
Turnipによるエンドツーエンドテストことはじめ
Turnipによるエンドツーエンドテストことはじめ
Takayuki Ujita
5minQues - SWET近況報告
5minQues - SWET近況報告
Masaki Nakagawa
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
Shou Takenaka
20151021 cookpad talk_test_engineer
20151021 cookpad talk_test_engineer
Kazuaki Matsuo
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Yoichi KIKUCHI
Benchmarkspec
Benchmarkspec
Yuichiro Shibata
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
松田 千尋
Responsableを使ったadr実装
Responsableを使ったadr実装
Kenjiro Kubota
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
学 松崎
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
Koichi Sakata
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)
Rakuten Group, Inc.
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
Rakuten Group, Inc.
「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」
Hiroyuki Ohnaka
capybara で快適なテスト生活を
capybara で快適なテスト生活を
Ryunosuke SATO
Beginners scala 20121113
Beginners scala 20121113
Taisuke Shiratori
テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -
Hiroshi Maekawa
タダで始めるテストファースト入門 ~ C# Express + NUnit
タダで始めるテストファースト入門 ~ C# Express + NUnit
Yasuhiko Yamamoto
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Yasuhiko Yamamoto
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
Y Watanabe
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
div Inc
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
Javaに這いよる.NET
Javaに這いよる.NET
Hiroshi Maekawa
Jsf アプリ作ったった
Jsf アプリ作ったった
Oda Shinsuke
Mais conteúdo relacionado
Mais procurados
5minQues - SWET近況報告
5minQues - SWET近況報告
Masaki Nakagawa
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
Shou Takenaka
20151021 cookpad talk_test_engineer
20151021 cookpad talk_test_engineer
Kazuaki Matsuo
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Yoichi KIKUCHI
Benchmarkspec
Benchmarkspec
Yuichiro Shibata
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
松田 千尋
Responsableを使ったadr実装
Responsableを使ったadr実装
Kenjiro Kubota
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
学 松崎
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
Koichi Sakata
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)
Rakuten Group, Inc.
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
Rakuten Group, Inc.
「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」
Hiroyuki Ohnaka
capybara で快適なテスト生活を
capybara で快適なテスト生活を
Ryunosuke SATO
Beginners scala 20121113
Beginners scala 20121113
Taisuke Shiratori
テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -
Hiroshi Maekawa
タダで始めるテストファースト入門 ~ C# Express + NUnit
タダで始めるテストファースト入門 ~ C# Express + NUnit
Yasuhiko Yamamoto
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Yasuhiko Yamamoto
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
Y Watanabe
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
div Inc
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
Mais procurados
(20)
5minQues - SWET近況報告
5minQues - SWET近況報告
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
20151021 cookpad talk_test_engineer
20151021 cookpad talk_test_engineer
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Benchmarkspec
Benchmarkspec
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
Responsableを使ったadr実装
Responsableを使ったadr実装
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」
capybara で快適なテスト生活を
capybara で快適なテスト生活を
Beginners scala 20121113
Beginners scala 20121113
テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -
タダで始めるテストファースト入門 ~ C# Express + NUnit
タダで始めるテストファースト入門 ~ C# Express + NUnit
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Semelhante a 渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
Javaに這いよる.NET
Javaに這いよる.NET
Hiroshi Maekawa
Jsf アプリ作ったった
Jsf アプリ作ったった
Oda Shinsuke
関西 Java エンジニアの会 2012年6月度 JavaOne 報告会!
関西 Java エンジニアの会 2012年6月度 JavaOne 報告会!
Kazkuki Oakamoto
PlayFramework1.x基礎編
PlayFramework1.x基礎編
Asami Abe
はじめてのWallaby.js
はじめてのWallaby.js
Shunta Saito
Java release cadence has been changed and about Project Amber
Java release cadence has been changed and about Project Amber
Koichi Sakata
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
第八回 #渋谷Java 最近のjava PaaS事情
第八回 #渋谷Java 最近のjava PaaS事情
Kazuhiro Serizawa
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
Yuta Ohashi
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
Yusuke Suzuki
これからのJavaのとっかかりを掴む #jdt51 #kanjava
これからのJavaのとっかかりを掴む #jdt51 #kanjava
irof N
Raspberry PiにUSBカメラを付けて撮影した写真をTwitterにアップする
Raspberry PiにUSBカメラを付けて撮影した写真をTwitterにアップする
Kazuko Shikiya
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネット株式会社
from Java EE to Jakarta EE
from Java EE to Jakarta EE
Koichi Sakata
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
apuruni
LT#8 乗るしかないこのECMA Script 2015に
LT#8 乗るしかないこのECMA Script 2015に
do7be
九州ソフトウェアテスト勉強会Vol.16 発表資料 150810
九州ソフトウェアテスト勉強会Vol.16 発表資料 150810
Takayoshi Sakaino
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Hiroyuki Ohnaka
JJUG CCC 2015 Fall keynote
JJUG CCC 2015 Fall keynote
心 谷本
Semelhante a 渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
(19)
Javaに這いよる.NET
Javaに這いよる.NET
Jsf アプリ作ったった
Jsf アプリ作ったった
関西 Java エンジニアの会 2012年6月度 JavaOne 報告会!
関西 Java エンジニアの会 2012年6月度 JavaOne 報告会!
PlayFramework1.x基礎編
PlayFramework1.x基礎編
はじめてのWallaby.js
はじめてのWallaby.js
Java release cadence has been changed and about Project Amber
Java release cadence has been changed and about Project Amber
Play jjug2012spring
Play jjug2012spring
第八回 #渋谷Java 最近のjava PaaS事情
第八回 #渋谷Java 最近のjava PaaS事情
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
これからのJavaのとっかかりを掴む #jdt51 #kanjava
これからのJavaのとっかかりを掴む #jdt51 #kanjava
Raspberry PiにUSBカメラを付けて撮影した写真をTwitterにアップする
Raspberry PiにUSBカメラを付けて撮影した写真をTwitterにアップする
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
from Java EE to Jakarta EE
from Java EE to Jakarta EE
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
LT#8 乗るしかないこのECMA Script 2015に
LT#8 乗るしかないこのECMA Script 2015に
九州ソフトウェアテスト勉強会Vol.16 発表資料 150810
九州ソフトウェアテスト勉強会Vol.16 発表資料 150810
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
JJUG CCC 2015 Fall keynote
JJUG CCC 2015 Fall keynote
Mais de Y Watanabe
クラウド時代だからSpring-Retryフレームワーク
クラウド時代だからSpring-Retryフレームワーク
Y Watanabe
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
Y Watanabe
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
Y Watanabe
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Y Watanabe
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Y Watanabe
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
Y Watanabe
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
Y Watanabe
properties, yaml, and me
properties, yaml, and me
Y Watanabe
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術
Y Watanabe
The cost of learning - advantage of mixer2
The cost of learning - advantage of mixer2
Y Watanabe
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
Y Watanabe
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Y Watanabe
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
Y Watanabe
Mixer2によるdynamic css sprite 201309第三回渋谷java
Mixer2によるdynamic css sprite 201309第三回渋谷java
Y Watanabe
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
Y Watanabe
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
Y Watanabe
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
Y Watanabe
Mais de Y Watanabe
(18)
クラウド時代だからSpring-Retryフレームワーク
クラウド時代だからSpring-Retryフレームワーク
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
properties, yaml, and me
properties, yaml, and me
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術
The cost of learning - advantage of mixer2
The cost of learning - advantage of mixer2
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
Mixer2によるdynamic css sprite 201309第三回渋谷java
Mixer2によるdynamic css sprite 201309第三回渋谷java
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
1.
あなたのプロジェクトが 気軽にJavaをバージョンアップする ために必要なこと 第10回 #渋谷Java
2015-‐3-‐7(Sat)
2.
自己紹介 • 渡辺 •
(株)ビズリーチ • @nabedge • h8p://mixer2.org • h8p://nabedge.blogspot.jp 2
3.
質問 • Java8ですか? •
Java7? • Java6? • Java5? • まさかの古代言語? 3
4.
なぜ古いJavaを使い続けるのか? • バージョンを上げて何かあったら嫌だから – 何かあったときにもとの古いJDK/JREに戻すのが 面倒くさい
– テストをやりなおすコスト • 「全てのサーバのJDKのバージョン上げて」と いうとインフラ担当者が嫌な顔をするから。 – とにかく上司を説得するのが面倒くさいから。 4
5.
• 「がんばってJava5,6,7 から
Java8にバージョン アップだ!」 – N年後 • 「もうJava11が出てるのにまだJava8使ってるの?」 • 同じやり方でやれば行き着く先は同じ。 – 大切なのは「バージョンアップする」ことではなくて 「バージョンアップしやすくする」こと。 5
6.
JREとJDK • JDK=開発に必要なもの – ソースコードをコンパイルする
– ローカル開発環境とJenkinsの中にあるもの • JRE=運用に必要なもの – コンパイル済みのバイナリを実行する – テスト環境/本番環境の中にあるもの 6
7.
JREとJDK • 「とりあえず全サーバにJDKが入っている」 のは何故?
– A: 大は小を兼ねるから。 – A: JDK/JREのインストールをインフラ担当者に任 せてしまうから。 – 実はこのあたりから「バージョンアップできない Java」が始まる 7
8.
JDKの切り替えなんて簡単 8 Eclipseの設定ダイアログ
9.
JDKの切り替えなんて簡単 9 Jenkinsの管理画面
10.
JREの切り替えはどうする? • JREを気軽にバージョンアップするためには? •
なんかあったらすぐ元に戻すためには? 10
11.
去年のJJUG 11 当時の資料 h8p://www.slideshare.net/nabedge/java-‐the-‐twelve-‐factor-‐app
12.
h8p://12factor.net 12
13.
突然CM入れてみたりとか 13 Javaな人、絶賛採用中 h8p://www.bizreach.co.jp/recruit/
14.
第2章「依存関係」の最後の段落 Twelve-‐Factor Appは、いかなるシステムツールの暗黙的な存在にも依存し ない。例として、アプリケーションからImageMagickやcurlを使う場合がある。 これらのツールはほとんどのシステムに存在するだろうが、アプリケーション が将来に渡って実行され得るすべてのシステムに存在するかどうか、あるい は将来のシステムでこのアプリケーションと互換性のあるバージョンが見つ かるかどうかについては何の保証もない。アプリケーションがシステムツー ルを必要とするならば、そのツールをアプリケーションに組み込むべきである。 14
15.
• 「アプリケーションがシステムツールを必要と するならば、そのツールをアプリケーションに 組み込むべきである」 •
「アプリケーションがJREを必要とするならば、 JREをアプリケーションに組み込むべきであ る」 15
16.
• 実際のところどうすべきか? – アプリにJREを組み込んでリリース物を作る
– JREにアプリを組み込んでリリース物を作る 16
17.
Java1.4からその機能はある 17 1.4, 5,6,7,8 全てほぼ同じことが書いてある
18.
公式マニュアルにはっきり書かれている 1. $JAVA_HOME=/var/lib/jre1.x.x_nn だと して
2. $JAVA_HOME/lib/ext の配下は自分で 作ったjarを置いてもいい場所ですよ 1. そこは自動的にクラスパスに含まれます よ 18
19.
前提 • Tomcatはインストール型ではなく ライブラリ型=組み込みtomcat=を使え。 19
20.
組み込みTomcatとは • Tomcat 7.0.1x
(2011年初頭)くらいか ら安定リリース • tomcat-‐embed-‐core-‐7.0.x.jar • tomcat-‐embed-‐logging-‐log4j-‐7.0.x.jar 20
21.
public stacc void
main(String[] args) { Tomcat tomcat = new Tomcat(); tomcat.setPort(8080); tomcat.addWebapp("/”, new File(“/var/webAppDir) .getAbsolutePath()); tomcat.start(); tomcat.getServer().await(); } 21
22.
ビルド方法 1. 自作のアプリをjarに固めておく 2.
使用するフレームワークやライブラリのjarも 集めておく 例:mvn dependency:copy-‐dependencies 3. tar zxf jre-‐”N”uXX-‐linux-‐x64.tar.gz 4. cp [1,2のjar群] jreNuXX/lib/ext/ 5. jreNuXX/配下を再びzipかtarballに固める 22
23.
リリース&実行方法 1. 前頁のビルド成果物をサーバ上で解凍する 2.
export JAVA_HOME=解凍先ディレクトリ 3. $JAVA_HOME/bin/java com.example.YourMain ※ -‐classpath=… を指定する必要は無い。 23
24.
JREのバージョンup/down方法 • ビルドするときにjreのtarballのバージョンを変 えるだけ。 – これならインフラさんに迷惑かける必要ないよね。
24
25.
まとめ • JDKとJREはちゃんと区別して考える。 •
全ての普通のjarに固める。 • APサーバは組み込みで。 – tomcat-‐embed, je8y… • JREもろともリリースせよ。 – ライブラリのjarの差し替えと同じ間隔でJREも差し 替えられるように。 – 実は古来から存在する普通の技です。 25
26.
ありがとうございました! 26
Baixar agora