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
きりがついたら、どこかに公開したいと思います。