mvn test
を実行するときに置換する2つのbashスクリプトに、test
フェーズの前に1つのスクリプトが実行され、exec-maven-plugin
を使用して1つのスクリプトが実行されるようにするプロパティがあります。Mavenフェーズ/ゴール優先度の問題
のbashスクリプトはそうのようになります。
startMongo
#!/bin/bash
${mongodNixDirLocation}/mongod --fork --logpath "${mongodLogDir}" --port ${mongodbTestPort}
/bin/sleep 10
stopMongo
#!/bin/bash
mongoDbServer=`lsof -i tcp:${mongodbTestPort}| awk 'NR!=1 {print $2}'`
for i in $mongoDbServer; do
echo "Stopping mongo DB server instance: $i"
kill -s SIGINT $i
done
私はmvn test
を実行すると、実行の順序で問題を抱えているように見えます。出力はsoです。
exec-maven-plugin
は、適切な置換が行われた前startMongo
スクリプトを実行しようとしている - ので、エラーメッセージが/mongod
からmongod
を実行するように見えます。
mvn process-test-resources
を実行すると、置換が正しく行われ、手動でスクリプトを正常に実行できます。
私のpom.xmlはsoのように設定されています。これがうまくいくように正しいフェーズを適切に設定するにはどうすればよいですか?問題は次の行にあるように見えます