antrunでMavenの環境変数が使えるものらしい。場合によっては使えるかも。Hudsonが使っていた。メモ。
カテゴリー: Apache
Maven SQL Plugin
ビルドプロセス中に SQL を流そうと思い、以前に antrun で sql タスクでやったことがあるので、同じようにやってみたものの、ある程度の量流すとビルドプロセスが落ちる感じ(前はこんなことなかった気がするのだが…)。エラー出力もない感じで、これ以上調べるにはソースを見ていくしかない気が。これに時間をかけるのもなんなので、調べると Maven SQL Plugin があった。これを始めから使えばよかったのね。というわけで、以下のように記述。
<build> : <plugins> : <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sql-maven-plugin</artifactId> <version>1.2</version> <dependencies> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.1.119</version> </dependency> </dependencies> <configuration> <driver>org.h2.Driver</driver> <url>jdbc:h2:file:${basedir}/target/test-classes/db/fess</url> <username>sa</username> <password></password> </configuration> <executions> <execution> <phase>test-compile</phase> <goals> <goal>execute</goal> </goals> <configuration> <srcFiles> <srcFile>${basedir}/src/main/config/fess.ddl</srcFile> </srcFiles> </configuration> </execution> </executions> </plugin> </plugins> :
srcFilesの代わりに、SQLをそのまま流せる sqlCommandもある。executionも複数書いて、いろんな phase とかで処理可能。
Solr 1.3 のマルチコアでdataDirを指定する
マルチコアの設定を試していたのだけど、ここによると、dataDir も設定できるようにも見えるが、それとなく Solr 1.4 と書いてあり、solr.xmlでは Solr 1.3 では指定することができない。というわけで、ここによると、各コアの solrconfig.xml で指定しておけば良いことがわかる(がしかし、そのやりとり内の例が間違っている…)。というわけで、Solr 1.3 でマルチコアにして、dataDir を各コアで指定したいときには、solr.xml で
<?xml version="1.0" encoding="UTF-8"?> <solr persistent="true" sharedLib="lib"> <cores adminPath="/admin/cores"> <core name="core0" instanceDir="core0" /> <core name="core1" instanceDir="core1" /> <core name="core2" instanceDir="core2" /> <core name="core3" instanceDir="core3" /> </cores> </solr>
という感じにして、各コアの solrconfig.xml で
: <dataDir>./solr/${solr.core.name}/data</dataDir> :
とdataDirを指定しておけば、各コアに conf とかをまるっとコピーすることができる。