Springプロジェクトをオフラインで動かす!Mavenリポジトリのコピーで解決する方法【Windows・Eclipse編】

こんにちは。ゆうせいです。

今回は、Springフレームワークで作られたプロジェクトを、インターネットに接続できないWindowsのPCで動かす方法について解説します。

特に、「Mavenのローカルリポジトリ(~/.m2/repository)をコピーする」という方法にフォーカスします。

「Springって聞いたことはあるけど、そもそもそれって何?」という方でも大丈夫。順を追ってわかりやすく説明していきますね。


なぜインターネットが必要なのか?

Mavenとは?

Springフレームワークを使ったプロジェクトは、Maven(メイヴン)というビルドツールを利用していることが多いです。

Mavenは、プログラムを動かすために必要なライブラリ(=部品)を自動でダウンロードしてくれる便利なツールです。

しかし、そのダウンロード先はインターネット上のサーバー(Maven Centralなど)。そのため、インターネットに接続できないPCでは、ライブラリが取得できず、ビルドエラーになってしまうのです。

例えるなら、Mavenは料理レシピ(プロジェクト)に応じて食材(ライブラリ)をネットスーパーから自動で取り寄せてくれる仕組み。でもネットがつながらないと買い物ができませんよね。


解決策:ローカルリポジトリをコピーする方法

ローカルリポジトリとは?

Mavenは一度ダウンロードしたライブラリを、ローカルリポジトリという場所に保存します。
このローカルリポジトリの場所は、通常以下のディレクトリです。

C:\Users\<ユーザ名>\.m2\repository

つまり、すでに一度動作確認ができたPCのこのフォルダをコピーすれば、インターネットに接続しなくても同じライブラリを使える、というわけです。


手順:オフラインPCでSpringプロジェクトを動かすまで

ステップ1:ライブラリが揃っているPCを用意

まず、同じSpringプロジェクトを一度ビルド済みのPC(インターネット接続可能)を用意します。このPCで、EclipseなどのIDE上でプロジェクトが正しくビルドできていることを確認してください。

このとき、C:\Users\<ユーザ名>\.m2\repository フォルダの中に、そのプロジェクトで使っている全てのライブラリが保存されています。


ステップ2:Eclipseでプロジェクトをいつも通りインポート

  1. Eclipseを開きます。
  2. 「ファイル」→「インポート」→「一般」→「既存プロジェクトをワークスペースへ」を選び、コピーしたプロジェクトのフォルダを指定します。
  3. コピーしたプロジェクトが解凍済みであれば「ルート・ディレクトリの選択を」、zipなどでアーカイブされていれば「アーカイブ・ファイルの選択」を選び、「参照」ボタンで該当のプロジェクトを選択しインポートします。
  4. インポートしてもMavenのリポジトリがないためプロジェクト名に赤い×マークがついています。
プロジェクトに×マーク

ステップ3:ローカルリポジトリをコピーする

  1. 上記の .m2\repository フォルダを、USBメモリなどの外部ストレージにコピーします。
  2. インターネットに接続できないPCの同じ場所(C:\Users\<ユーザ名>\.m2\repository)に貼り付けます。
    (※ここはとても大事なポイントです。Mavenはこのパスでライブラリを探します。場所がずれると正しく動作しません。)
    • もし .m2 フォルダが存在しなければ、新しく作成しても構いません。
    • フォルダ名や構造は変更しないように注意しましょう。
  3. Eclipseを再起動して少し待ちます。プロジェクト名の赤い×マークが消えればOKです。
赤い×マークが消えればOK

インターネット接続がなくてもビルドが通れば成功です!


メリットとデメリットを整理!

項目内容
メリットネット接続不要でプロジェクトを動かせる
環境をコピーするだけなので簡単
デメリット他のプロジェクトのライブラリも含まれるため、容量が大きくなる可能性あり
Mavenの設定が異なると正しく認識されないことがある


最後に

SpringやMavenは、Java開発ではとても強力なツールです。ネット環境がない場合の対処法を知っておくと、新入社員研修のように社内制限のある環境でも柔軟に対応できます。

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。