トップ «前の日記(2010-08-22) 最新 次の日記(2010-09-12)» 編集

Ussy Diary


2010-09-03

[Java][Maven]Maven Resource Continuous Deploy Plugin

Scala でエディタでリソースファイルを書き換えて、 mvn scala:cc だとリソースファイルを変更してもデプロイしてくれず不便でした。 Eclipse で WTP プラグインを使って開発していると、基本的に自動でパブリッシュしてくれるのですが、 Emacs で書いているとパブリッシュしてくれず Java は IDE でないと厳しいのかもしれません。しかし、ここは Scala。エディタで書いています。いや、エディタで書ける言語であって欲しい。なければつくれ、ということで maven plugin を書いたこともなかったので書いてみました。

まだ作り込みが甘いかもしれないですが、ひとまずソースだけ公開だけしておきます。

http://github.com/ussy/maven-resource-cd-plugin

まだどこかのリポジトリに公開しているわけでもないので、 mvn install してローカルリポジトリに入れてください。対象プロジェクトの pom.xml に以下の記述をしてください。

<plugin>
    <groupId>net.pshared.maven</groupId>
    <artifactId>maven-resource-cd-plugin</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</plugin>

後は以下のコマンドを入力することで、リソースファイルを 1 秒間隔で監視します。

$ mvn resource-cd:execute

終了するには Ctrl-C でシグナルを送る必要があります。 Java で Signal 掴むのはマナー違反な気がしますが。

今サポートしているのが、新規ファイル追加、既存ファイル更新、ファイル削除の基本操作です。ディレクトリもつくりますが、今のところファイル削除で空ディレクトリになってもディレクトリは残すようにしています。

src/main/resources/message.properties を更新すると target の message.properties にコピー

copy /Users/ussy/repos/example/target/classes/message.properties

src/main/resources/temp/a.txt を remove すると target の a.txt を削除

delete /Users/ussy/repos/example/target/classes/temp/a.txt

きりがついたら、どこかに公開したいと思います。