MavenはJavaのビルドを行う際の強力なツールですが 一般的なMavenのお作法では、公開サーバーからjarを取ってくることになっています。 個人的には、公開サーバーより取得するよりも、SVNみたいな構成管理ツールから とってきて全部解決できるようにしたい。 コンパイル&jarに固める時にはpom.xmlに <dependency> <groupId>my-group</groupId> <artifactId>junit-4.5.jar</artifactId> <scope>system</scope> <systemPath>${basedir}/lib/junit-4.5.jar</systemPath> </dependency>と記述すれば、ローカルに存在するjarを参照します。 Eclipseのプロジェクト直下にpom.xmlがあれば、 {Eclipseのプロジェクトディ
POMには親子関係を設定できますが、親から子の関係と、子から親の関係は目的が違います。 子から親を参照(Inheritance) Parent POMを指定すると、他のPOMの情報を引き継ぐことができます。指定にはGroup等の成果物の情報が必要です。 依存ライブラリのバージョン管理、プラグインのバージョン管理、デプロイ設定など、mavenを使う上では必須のテクニックです。Parent POMは一つしか指定できませんが、複数階層設定することができます。 親の指定には追加で相対パスも指定できるのですが、これがちょっと曲者でデフォルトで../pom.xmlが指定されています。リポジトリ経由で親POMを指定する場合には、明示的に<relativePath/>としておいた方が良いです。 ソース POMの中でモジュールとして別のPOMを指定することで、ビルド時に連携してビルドさせることができます。指
Maven3 のようなマルチモジュールプロジェクトで Maven Assembly Plugin を使う方法を記しておきます。日本語の情報少ないので。 Maven Assembly Plugin とは Maven Assembly Plugin は、よくある zip や tar.gz などでプロジェクトの成果物を配布用にパッケージングする Maven プラグインです。 マルチモジュールプロジェクトの作成 ここでは1つの jar と1つの war を作成するマルチモジュールプロジェクトで Maven Assembly Plugin を使うものとします。 まずは親プロジェクトを作成します。親プロジェクトは単なる束ね役なのでarchetype には maven-archetype-site-simple を指定します。以下のコマンドで親プロジェクトを作成します(実際には1行です)。 mvn ar
Nexusとは? NexusはSonatype社が提供するWebアプリケーションで、Webブラウザ上からMavenリポジトリの管理を行うことができ、外部のリポジトリのプロキシ/キャッシュとしても動作する。同種のツールには、Artifactoryなどがある。 IDEの範疇からは外れてしまうが、Java開発においてMavenを使用する場合に、開発したソフトウェアをデプロイしたり、外部のMavenリポジトリに存在しないライブラリなどを使用するために、開発環境の一部としてプライベートリポジトリを立てる必要に迫られることがある。Nexusはこのような場合に有用なツールだ。 Nexusは無償で利用可能なOSS版に加え、有償のProfessional版が提供されている。本稿ではOSS版の導入手順と基本的な利用方法を紹介する。 Nexusのインストール NexusのWebサイトには、Jettyがバンドルさ
求職活動中とありますが、活動報告というよりは、技術の話題を多めでいきます。Scalaが大好きなので特にScalaの話が中心になると思います。 最近「Gaeds」というScalaのライブラリを作っているのですが、 Maven Centralリポジトリから使えるようにしたので、 その経験を元にScalaのライブラリをMaven Centralリポジトリに登録する方法を解説したいと思います。 と言っても、他にドキュメントがないというわけではなく、 むしろわかりやすいドキュメントが既にたくさんあるのですが、 ただ手順自体が結構複雑なので、 僕のほうでも情報をまとめておきたいと思います。 まず、おおまかに方法を説明すると、 ライブラリをMaven Centralリポジトリに直接登録するのではなく、 「Sonatype OSSRH (OSS Repository Hosting Service)」とい
最近は Gradle がとってもお気に入りなので プラグインの開発も少しずつ行っているのですが、 折角作成したプラグインやライブラリも Maven リポジトリで公開しないと利用しづらいので どこか公開できる場所がないか探していたところ Github を Maven 公開リポジトリにする という記事を見つけたので ソース管理と合わせて GitHub に Maven リポジトリを作成することにしました。 ただ無料版だと300MB しか利用できないので容量がちょっと心配だったのですが id:kimukou_26 さんのアドバイスによりあまり容量を気にする必要はないことがわかったので GitHub にしました。 それによく考えてみれば そもそも 300MB もコードが書けるほど時間に余裕はないですし... 上記の記事では Maven が使われていましたが、今回は Gradle を利用することもあり
はじめまして。sasaki-kです。 わたしは業務で継続ビルド環境として hudson + maven2を気に入って使っています。携帯サイトは実機チェックが大変なため、継続ビルド環境上で結合テスト(Tomcat起動してHttpUnitで内容応答確認、DBの値チェック)ができたらなと思っていました。 一方、こういった用途には Cargo Maven2 plugin が有名です。良く紹介される事例としては Tomcatがリモート環境で起動していて、maven2でビルドしたwarをdeployなのですが・・・テスト用のTomcatを継続ビルドマシンにインストールしたり、tomcatのmanager appを有効にしたり、異なるTomcatのバージョンでのテストも面倒だなあと思っていました。 ところが調べてみたところ、maven cargo pluginには ApacheからTomcatを自動ダウ
前々から使いたいと思っていたCargo Maven2 Plugin。先日時間があったので設定してみました。使ってみたら思いのほか簡単に設定できました。ほとんどpom.xmlを編集するだけで対応可能です。これは中々便利です。Hudson等の構成管理でビルドからデプロイ、再起動まで全て行えます。 <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <configuration> <container> <containerId>tomcat5x</containerId> <type>remote</type> </container> <configuration> <type>runtime</type> <properties> <cargo.tomcat.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く