Maven Integrationを試す(その2)
えー,こんなところで妥協することとしましたヨ。
1.IDEAでふつーにプロジェクトを作る(Webファセットとかはご自由に)。
2.POM作って,IDEAと連携させる
プロジェクトができたら,こんなPOMを作る。groupIdやartifactIdはテキトウでいい。どっちにしろ,Mavenでビルドとかしないし。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>MavenTest</artifactId> <version>1.0-SNAPSHOT</version> <name>MavenTest</name> <build> <sourceDirectory>src</sourceDirectory> <testSourceDirectory>test</testSourceDirectory> </build> </project>
ポイントは,この2つくらい。
- packagingタグを書かない(まかり間違って,warとか書くとWebファセットが影響受ける)。
- buildタグのsourceDirectoryやtestSourceDirectoryは,IDEAのそれにあわせる(いや,べつにMaven風でもいいんだけどさ)。
POMが出来上がると,自動的にMavenプロジェクトと認識するので,Tool WindowのMaven projectsから,IDEAの連携方法を設定する(ツールバーの"Maven settings"を選ぶ)。
Maven Integrationダイアログで,IDEAとの連携方法を設定するんで次のように設定しておく。
3.POMの内容をプロジェクトに反映させる
そのまえに,dependenciesタグ書いといてね。
手動連携なんで,ツールバーの"Synchronize with Maven projects"を押す。そすっと,Mavenが動いて,いろいろやってくれる(って,ライブラリのダウンロードだけど)。
あとは,dependenciesタグを書き換えるたびに,同じように同期とるだけじゃ。
ツールバーの"Synchronize with Maven projects"の隣にある"Download artifacts"を押すと,ソースやらJavadocやらをダウンロードしてくれるよ(ちゃんとIDEAのライブラリにも設定してくれる)。
注意事項がひとつだけ。
POMの内容のほうがProject Settingsより強いので,Project Settingsに直接ライブラリを設定してもムダだよ。POMと同期取ると消えて無くなるんで,Project SettingsのSourcesタブとDependenciesタブは,POMに任せとくのが吉。
#ライブラリの設定がひととおり済んだのなら,POMを消しちゃっても問題はないみたい。
これでライブラリ設定の手間はだいぶ減ったんだけど,やっぱりPON(dependencies)の入力支援が無いと,今ひとつだなぁ。:-(
真面目にMaven Repo Searchみたいなの作ろうかな...