倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

Archetype -- プロジェクト・テンプレート Site, Site-simple

site, site-simple は Web サイトを作成するためのプロジェクト・テンプレートだそうです。

「src/site」フォルダの作成


通常、サイトに関連するコード(ファイル)は「src/site」フォルダに置くことになっています。 site (site-simple) テンプレートは、このフォルダとサイトのサンプル・ファイルを作成してくれるそうです。

Archetype プラグインのサイトによると、quickstart などのプロジェクト・テンプレートを作成したあと、同じフォルダ上で site (site-simple) プロジェクト・テンプレートを作成すれば、これらのフォルダ、ファイルが作成されると書いてあります。 しかし Maven 2.0.7 でこれを行うと、「既にプロジェクトが存在する」旨のメッセージとともにコマンドが失敗します。

サイトの作成


「src/site」フォルダを作成し、そこにサイトのためのファイルを作成して、プロジェクトのベース・フォルダ*1上でコマンド

mvn site

を実行すると、「target/site」フォルダ下に html ファイル等が作成されるそうです

ただし、こちらも Maven 2.0.7 で実行してみると、

java.lang.NoSuchMethodError:org.codehaus.plexus.util.FileUtil.getDefaultExcludes()[Ljava/lang/String;

というメッセージとともにビルドが失敗します。 おそらくこれは、Maven 2.0.6 から使用される Plexus-utils のバージョンが変わったせいかと思います*2。 別のバージョン(Maven 2.0.5 以前)で試してないので、実際にそうかは分かりませんが。 サイトの作成を成功させるためには、最初の1度だけ -U オプションを付けて実行して下さい*3

mvn -U site

1度 -U オプションを付けて実行するとローカル・リポジトリの幾つかのライブラリが更新されるので、次回の実行からはこのオプションを付けなくてもキチンと動作するようになります。

*1:POM ファイルがあるフォルダ。

*2:[MNG-2252] - Upgrade to plexus-utils 1.3

*3:こちらを参照。