サードパーティのjarの設定方法
mavenを初めて触った。
悩んだところをメモ。
依存するサードパーティのjarの設定の仕方がいまいちわからなかった。
でも、たぶん自分の想像通りだと思うので書きます。
ところで、3,4年前にantを少しだけ触ったことがあるけど、
コンパイルと実行くらいしか使ってなかったんよね。
しかも、そのときやりたかったのは、実行結果をファイルに出したかっただけ。
System#setOutでできたのに。
それを知らず・・・orz
標準出力をファイルにするには? - Java Solution
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=18777&forum=12&2
でも、意外にSystem#setOutのこと知ってる人少ないと思う。
それはさておき。
初maven。
antの後継だってことしか知らなかったので、良さそうなサイトを探してみた。
Maven2のTipsを集めるWiki - CookBook
http://wiki.fdiary.net/maven2/?CookBook
ここに書いてあるように、
Javaで開発するときのお薦めフォルダ構成を作ってくれたり
eclipseのプロジェクトファイルを作ってくれたり
その他もろもろ便利。
Javaで開発する際は、まずmavenでeclipseのPJを作るところからやるべきだね。
というわけで、
とりあえず、上から順に試してみた。
ソースはWebDav+SVNで管理してるので、wgetで取得。
mavenお勧め構成になってないので、mvしたりrmしたりきれいにする。
で、pom.xmlというXML構文の設定ファイル作成へ移る。
Maven centralリポジトリ以外で提供されている依存ライブラリを設定する
http://wiki.fdiary.net/maven2/?CookBook#l11
ここに書かれてることで少し悩んだ。
mavenってのはyumみたいにリポジトリという場所でjarを管理してる(ものがある。)
あと、rubyやperlなんかとも同じ。
デフォルトのリポジトリはここ。
http://repo1.maven.org/maven2/
ここに、いろんなjarが詰まってる。
commons-langだと、リポジトリトップ下にcommons-lang/commons-lang/2.3/
って感じで管理されてる。
1つ目のcommons-langがgroupId、2つ目のcommons-langがartifactIdとなる。
最後はもちろんバージョン。
このリポジトリで管理してるjarは
<dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.3</version> <scope>provided</scope> </dependency>
を
リポジトリにないjarは、ローカルに落したjarをmvn installすると、
ローカルのリポジトリに追加される模様。
この場合のmvn installで指定するgroupIdやartifactIdは一意になれば自由っぽい。
ここで指定したgroupIdやartifactIdを
あとは、コンパイルするJavaのバージョンやら文字コードやらを指定してmvn compile。
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <encoding>SHIFT-JIS</encoding> <source>1.6</source> <target>1.6</target> </configuration> </plugin>
今のところここまで。
また何かあったら書きます。