|||||||||||||||||||||

なんぶ電子

- 更新: 

Mavenレポジトリからjarファイルだけ取得する

Apache Maven

Apache MavenはJavaのプロジェクト用の管理ツールです。

最初からmavenや他の管理ツールが組み込まれているプロジェクトならいいのですが、そうでないプロジェクトのメンテナンスをする場合依存性のあるjarファイルをひとつずつ集めてくるのは手間です。

そこで、mavenをコンソールから操作して、それらの依存性を含めて必要なjarファイルだけをダウンロードする方法を書き残しています。

初期設定

Mavenのダウンロードの前に、もしJRE(Java環境)がインストールされていなかったら、openJDKをダウンロードして、インストールします。

バージョンはLTSの最新がいいと思いますが、筆者は8の環境を持っていたのでそのまま使いました。

インストール時にJAVA_HOMEを設定するか否かの選択がありますので(デフォルトのままだと設定されません)、選択してください。

選択し忘れたら、自分で環境変数「JAVA_HOME」を作成して、Javaのインストールフォルダを指定します。筆者の例だと「C:¥Program Files¥Eclipse Foundation¥jdk-8.0.302.8-hotspot」となっています。

環境変数の設定の仕方は以前の記事を参照してください。

Javaの環境が整ったら、先に紹介した公式サイトのダウンロードページより、Mavenのバイナリをダウンロードします。

ここではWindowsで利用するので、zip版の「apache-maven-3.8.7-bin.zip」をダウンロードしました。

ダウンロードが終わったら圧縮ファイルを展開して、適当な場所にコピーします。

Mavenのルートフォルダ配下にあるbinフォルダにパスを通します。(ただ今回はライブラリを取得するだけなので必須ではありません)

Mavenの設定

利用するJavaのライブラリはMavenのセントラルレポジトリという共有スペースに保存され管理されています。

Mavenではここにあるものを、ローカルレポジトリ(自分のPC内にあるレポジトリ)にダウンロードした上で自身のプロジェクトで利用します。

まず、このローカルレポジトリの設定をします。

プロジェクトのルートフォルダの配下にあるconfフォルダにsettings.xmlというファイルがあります。

これは、ファイル名通りXML形式のファイルで、ここにMavenの設定を記述します。

すでに記述場所はコメントとして提示されているので、localRepositoryの文字を頼りに場所を探します。コメント終了直後にlocalRepositoryの値を設定します。

settings.xml

<!-- localRepository...
...
-->
<localRepository>D:/apache-maven-3.8.7/rep</localRepository>

ファイルセパレーターはスラッシュで設定します。

場所はどこでもいいです。今回は一時的に使うだけなので消してもいいものだとわかるようにあえて別にしています。xmlのコメントにもあるようにデフォルトはc:\ユーザー\[ユーザー名]\.m2\repositoryフォルダとなります。

ライブラリ(jarファイル)のダウンロード

初期設定が終わったらライブラリをダウンロードします。

  • ライブラリの検索

    Maven REPOSITORYで目的のライブラリを探します。

    ここではsmbjライブラリを検索してみました。バージョン別に表示されると思いますので、目的のバージョンをクリックします。

    次画面では、アプリケーション別にインポートの設定が載っていますので、Maven用になっているのを確認して、dependencyタグでかこまれた一連のHTMLをコピーします。

    Maven Search Library
    Maven dependency tag
  • POMファイルの作成

    好きな場所にライブラリをダウンロードするためのフォルダを作成し(先ほどのMaven用のレポジトリフォルダとは別に作ります)、その中にMavenで利用したいライブラリを設定するためのファイルである「 pom.xml 」ファイルをつくります。ダウンロードするだけなので適当ですが、本来はgroupIdに自身のアプリのJavaパッケージのプレフィックスとなる部分、artifactIdにアプリ名、バージョンも正式に管理されたバージョンを入れます。

    modelVersionは固定値です。

    外枠ができたら、コピーしたdependency部分をdependenciesの内側になるように貼り付けます。

    pom.xml

    <project>
      <modelVersion>4.0.0</modelVersion>
      <groupId>groupid</groupId>
      <artifactId>artifactid</artifactId>
      <version>0.0.1</version>
      <dependencies>
        
        <dependency>
          <groupId>com.hierynomus</groupId>
          <artifactId>smbj</artifactId>
          <version>0.11.5</version>
        </dependency>
        
      </dependencies>
    </project>
    
  • ダウンロードの実行

    PowerShellなどのコンソールから、POMファイルを作成したフォルダに移動しそこで、次のコマンドを入力します。

    筆者の場合、パスを通してないので、フルパスで書いていますが、パスを通したのなら「 mvn 」だけでも実行可能です。(PowerShellではbinフォルダにいる時は.¥mvnとしないといけないことに注意してください。)

    d:\apache-maven-3.8.7\bin\mvn dependency:copy-dependencies

    実行すると、mavenで利用されるライブラリがローカルレポジトリにダウンロードされたあと、カレントフォルダ\target\dependencyサブフォルダ内に目的のライブラリとそれが依存しているjarファイルがダウンロードされます。

Eclipseで作業

今度はEclipseでMavenをイニシャルしてライブラリをダウンロードしてみます。まずプロジェクトの新規作成時に、Otherの項目からMavenプロジェクトを選択します。

Eclipse Maven step1

「 create simple project 」にチェックボックスを入れて次に進みます。Group IDとArtifact IDを入力すればプロジェクトを作成可能になるので、先ほど同様に適当な値または、正式な値を入力します。

Eclipse Maven step2

パッケージエクスプローラーの中にpom.xmlファイルが生成されているので、先ほど同様に記述をします。

Eclipse Maven step3

pom.xmlファイルを保存するとすぐにライブラリのダウンロードが始まります。

ダウンロードされたフォルダはパッケージエクスプローラのMaven Dependenciesの項目から確認できます。この時、ライブラリのダウンロードフォルダはデフォルト値となります。

筆者紹介


自分の写真
がーふぁ、とか、ふぃんてっく、とか世の中すっかりハイテクになってしまいました。プログラムのコーディングに触れることもある筆者ですが、自分の作業は硯と筆で文字をかいているみたいな古臭いものだと思っています。 今やこんな風にブログを書くことすらAIにとって代わられそうなほど技術は進んでいます。 生活やビジネスでPCを活用しようとするとき、そんな第一線の技術と比べてしまうとやる気が失せてしまいがちですが、おいしいお惣菜をネットで注文できる時代でも、手作りの味はすたれていません。 提示されたもの(アプリ)に自分を合わせるのでなく、自分の活動にあったアプリを作る。それがPC活用の基本なんじゃなかと思います。 そんな意見に同調していただける方向けにLinuxのDebianOSをはじめとした基本無料のアプリの使い方を紹介できたらなと考えています。

広告