

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝
jarとは何かとどんな場面で使われるか
jar とは Java ARchive の略で一つのファイルに複数のクラスファイルやリソースをまとめるパッケージ形式です
実際には zip 形式を利用しており META-INF/MANIFEST.MF が含まれることが多いです
この manifest には Main-Class を指定することができ それを使えば java -jar で直接実行可能になります
jar は主にデスクトップ向けの Java アプリケーションやライブラリの配布に使われ 依存関係の扱いはビルドツールが補います
例えば Maven や Gradle を使って依存関係をまとめて jar に含める方法や シャドウ jar などの手法を使って外部ライブラリを一つにまとめることができます
jar の利点は環境に依存せず再現性の高い配布ができる点です
一方の欠点は実行には Java が必要であり 大規模なアプリケーションではクラスパスの管理が難しくなることです
まとめると jar は自己完結型のパッケージとして広く使われ 実行型とライブラリ型の両方をカバーします
warとは何かとどんな場面で使われるか
war はウェブアプリケーションのデプロイに適しており直下には公開ディレクトリがあり ルート配下に公開資源を置く事が多いのが特徴です
war は直接実行可能なファイルではなく サーブレットコンテナーと呼ばれる環境へデプロイします
主な構成は WEB-INF 以下の lib に依存ライブラリを集めることと WEB-INF/classes にクラスを置くことです
WEB-INF 内には web.xml のような設定ファイルがありこれが servlet やフィルタの動作を決めます
また resources はルート配下の公開ディレクトリから提供されることが多く サーブレットを通じて HTTP 要求に応答します
デプロイ先は Tomcat Jetty などのコンテナーであり サーバーが動作する環境が前提です
war はウェブアプリケーションの配布に適しており開発時には Maven の war パックや Gradle の war プラグインで作成します
重要な点は実行ファイルではないため起動コマンドを使わず Tomcat のデプロイ作業が必要なことです どのようなアプリケーションを作るかをまず決め jar war の選択を判断しましょう
友達と放課後に jar と war の話題を深掘りしてみると まず jar は自己完結型のパッケージとして配布するのに向いており 実行可能なファイルとして java -jar で動くことが大きな魅力です ただし 依存関係をどうまとめるかは設計次第で難しくなることがあります 一方 war はウェブアプリケーションをひとまとまりにしてサーブレットコンテナーへデプロイするためのものです 実行ファイルとしては使えず サーバー側の仕組みや web.xml の設定が重要になります こうした違いを知っておくと 実務で jar か war かを選ぶ基準がすぐに見えてきます つまり jar はデスクトップやライブラリ配布向け war はウェブアプリの配布と理解するのが近道です