cafebabe.jp 日々のよしなしごとをのたまうブログ.

75月/110

Maven3でDeploy先を切り替える.

maven3でdeployをするにはextensionでwagonのプラグイン?を書かなければいけないようだ.
試したのは webdav, scpの2つだけ.

pom.xmlに以下のタグを追加しておき,distributionManagement のrepositoryタグを適切に追加しておけばOK.

  <distributionManagement>
    <repository>
      <id>適当に決めたデプロイ先のサイトのID</id>
      <url>scp://ユーザ名@ホスト名/パス</url>
    </repository>
  </distributionManagement>
    :
  <build>
    :
    <extensions>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-ssh</artifactId>
        <version>1.0-beta-6</version>
      </extension>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-webdav-jackrabbit</artifactId>
        <version>1.0-beta-7</version>
      </extension>
    </extensions>
  </build>

サイトのIDは ~/.m2/settings.xml の設定と合わせておく必要がある.

デプロイ先を切り替えるには profile を使う.以下のタグをpom.xmlの一番最後あたりに追加する.

  <profiles>
    <profile>
      <id>適当な名前</id>
      <activation>
        <property>
          <name>target</name>
          <value>hoge</value>
        </property>
      </activation>
      <distributionManagement>
        <repository>
          <id>切り替えたいデプロイ先のID</id>
          <url>dav:http://ホスト名/パス</url>
        </repository>
      </distributionManagement>
    </profile>
  </profiles>

こうしておくと,$ mvn deployしたときはscpでデフォルトのデプロイ先へ,$mvn deploy -Dtarget=hogeとするとprofileで設定したデプロイ先へwebdavでアクセスするようになる.
ちなみに,切り替えたいデプロイ先のIDも~/.m2/settings.xmlで定義しておかなければならない.

settings.xml は Mavenのドキュメントを参照のこと.

 
64月/110

Redmineのデータベースをsqlite3からMySQLに変更 (Snow Leopard)

sqlite3で運用していたが,重くなってきたので,MySQLで運営しようとしてハマった記録.
最終的にMySQL 5.1.x for Mac OS X 10.6 (x86 64bit)を使った場合に移行できた.
最新のMySQLを使った場合,MySQLへのデータのインポートでこける.

以下は試行錯誤の記録.MacでRedmine+MySQLで動かしたい場合は最新のMySQL 5.5ではなく,MySQL 5.1を使うこと.

 
54月/110

maven-site-plugin 3.0-beta-3のpoweredByタグ

poweredBy以下のlogoタグのimgがbannerLeftもしくはbannerRightのsrcになる.困る.
つまり,以下のようなsite.xmlを記述する.

<project name"Example">
  <bannerLect>
    <name>${project.name}</name>
    <src>images/example.png</src>
    <href>http://example.com</href>
  </bannerLeft>
  <poweredBy>
    <logo name="Build with Maven 2"
          href="http://maven.apache.org"
          img="images/logos/maven-feather.png" />
  </poweredBy>
    :
</project>

これで,siteドキュメントを作成すると,左の柱の下に images/logos/maven-feather.png の画像が表示されるはずが,images/example.png が表示されてしまう.maven-feather.png だけなら,poweredByタグを使わなくても良いのだが,他のロゴも使いたいとき,非常に困る.

で,maven-site-pluginのバージョンを2.0.1変えてみると,期待通りの動作をする.
それ以上のバージョンだと同じようなバグに当たる.

仕方がないのでpoweredByタグを使わないようにしているけど,なんでこのバグについて,情報が一切ないんだろうか.スキンを変えるとうまくいったり,私の環境の問題なのかなぁ?

ちなみに,Mavenのバージョンは3.0.1 for Windows.Javaのバージョンは1.6.0_20.