Upgrade to Pro — share decks privately, control downloads, hide ads and more …

あなたのプロジェクトが気軽にJavaをバージョンアップするために必要なこと

 あなたのプロジェクトが気軽にJavaをバージョンアップするために必要なこと

Yu Watanabe

March 07, 2015
Tweet

More Decks by Yu Watanabe

Other Decks in Technology

Transcript

  1. 自己紹介 •  渡辺   •  (株)ビズリーチ   •  @nabedge  

    •  h8p://mixer2.org   •  h8p://nabedge.blogspot.jp   2
  2. 質問 •  Java8ですか?   •  Java7?   •  Java6?  

    •  Java5?   •  まさかの古代言語? 3
  3. なぜ古いJavaを使い続けるのか? •  バージョンを上げて何かあったら嫌だから   – 何かあったときにもとの古いJDK/JREに戻すのが 面倒くさい   – テストをやりなおすコスト   • 

    「全てのサーバのJDKのバージョン上げて」と いうとインフラ担当者が嫌な顔をするから。   – とにかく上司を説得するのが面倒くさいから。   4
  4. •  「がんばってJava5,6,7  から  Java8にバージョン アップだ!」   – N年後   •  「もうJava11が出てるのにまだJava8使ってるの?」

      •  同じやり方でやれば行き着く先は同じ。   – 大切なのは「バージョンアップする」ことではなくて 「バージョンアップしやすくする」こと。 5
  5. JREとJDK •  「とりあえず全サーバにJDKが入っている」   のは何故?   – A:  大は小を兼ねるから。   – A:

     JDK/JREのインストールをインフラ担当者に任 せてしまうから。   – 実はこのあたりから「バージョンアップできない Java」が始まる   7
  6. 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
  7. ビルド方法 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
  8. まとめ •  JDKとJREはちゃんと区別して考える。   •  全ての普通のjarに固める。   •  APサーバは組み込みで。  

    – tomcat-­‐embed,  je8y…   •  JREもろともリリースせよ。   – ライブラリのjarの差し替えと同じ間隔でJREも差し 替えられるように。   – 実は古来から存在する普通の技です。   25