倭マン's BLOG

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

Maven2 を使おう!(3):若干のカスタマイズ

前回に書いたことで大体開発の管理は行えるんですが、拙者が行っている若干のカスタマイズを書いておきます。

♪ソースファイルのバージョンとエンコーディング


最近の Java 開発ではジェネリクスなどがサポートされた Java SE 5 かそれ以降のバージョンを使うのが普通でしょう。 しかし、Maven2 のデフォルト(というより、今出回っているコンパイラのデフォルト)では、そうなっておらず、オプションとして -source 1.5 などを設定しなければなりません。

pom.xml を以下のように変更する:

<project>
  ...  
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
          <encoding>UTF-8</encoding></b>  <!-- エンコーディングを設定する場合 -->
        <b></configuration>
      </plugin>
      ...

上の例では、ついでにエンコーディングUTF-8 に設定してあります。 これをした場合、Eclipse 上でも出力エンコーディングUTF-8 に設定しておかなければなりません。 設定方法は全プロジェクトに対してか、個々のプロジェクトに対して適応できます:

全プロジェクトに設定
[メニュー]Window → Preferences → [Preferences ダイアログ]General → Workspace にある "Text file encoding"
個々個々のプロジェクトに設定
もしくは [プロジェクトのポップアップメニュー]Properties → Info の "Text file encoding"

♪テストのスキップ♪


「プロジェクト管理」という観点からは、「テストをスキップする」ってのはよろしいことではない。 けれど、以前、サブプロジェクト自体のテストはうまくいくのに、メイン・プロジェクトのビルドがそのサブプロジェクトのテスト・フェーズで失敗してしまう、っちゅー自体に陥ってしまった。 それからというもの、拙者はビルド・プロセスからテストをよく省くようになった*1。 一応、テストのスキップの仕方を書いておきますが、あまり良いことではないので、良い子の皆さんは真似しないように。

pom.xml を以下のように変更する:

<project>
  ...  
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <skip>true</skip>
        </configuration>
      </plugin>
      ...

情報源はApache Maven Projectサイトと書籍『Apache Maven 2.0入門 Java・オープンソース・ビルドツール』です。

Apache Maven 2.0入門 Java・オープンソース・ビルドツール

Apache Maven 2.0入門 Java・オープンソース・ビルドツール

*1:一応言っておきますが、テストをしなくなったって訳ではありませぬ。 テストは開発中に(Eclipse 上で)行っています。