jellyの罠
<?xml version="1.0" encoding="UTF-8"?> <project> <goal name="myPrj:make"> <maven:maven descriptor="./project.xml" goals="clean"/> </goal> </project>
が、エラーとなる。
D:\work\maven\sample>maven myPrj:make __ __ | \/ |__ _Apache__ ___ | |\/| / _` \ V / -_) ' \ ~ intelligent projects ~ |_| |_\__,_|\_/\___|_||_| v. 1.0.2 Fatal Error [line 6, row 24]: The prefix "maven" for element "maven:maven" is not bound. org.apache.maven.MavenException: Error parsing plugin script at org.apache.maven.plugin.JellyScriptHousing.parse(JellyScriptHousing.java:165) (以下略)
あれー、と思ったが「Jellyタグを使う場合にはユーザがネームスペースを宣言する必要があります」ということらしい。
<?xml version="1.0" encoding="UTF-8"?> <project> <goal name="myPrj:make" xmlns:m="jelly:maven"> <m:maven descriptor="./project.xml" goals="clean"/> </goal> </project>
実行結果
D:\work\maven\sample>maven myPrj:make __ __ | \/ |__ _Apache__ ___ | |\/| / _` \ V / -_) ' \ ~ intelligent projects ~ |_| |_\__,_|\_/\___|_||_| v. 1.0.2 build:start: myPrj:make: build:start: clean:clean: xdoc:clean: [delete] Deleting directory D:\work\maven\sample\target BUILD SUCCESSFUL Total time: 5 seconds Finished at: Tue Apr 04 16:47:46 JST 2006