(TemplateEngine.invokeMethod 547 ) Invoking method failed: xdoclet.tagshandler.ClassTagsHandler.forAllClasses, line=36 of template file: jar:file:/D:/nbproject/Eric/resource/lib/xdoclet-1.2.3/xdoclet-web-module-1.2.3.jar!/xdoclet/modules/web/resources/web_xml.xdt java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 以下 政略
Ant 1.6.5
Netbeans 5.0
JDK 1.4
xDoclet 1.2.3
次はclasspathの設定部分です。
<target name="-post-init"> <path id="xdoclet.class.path"> <fileset dir="${lib.xdoclet.dir}" includes="**/*.jar"></fileset> <fileset dir="${web.dir}/lib" includes="**/*.jar"></fileset> <fileset dir="${env.TOMCAT_HOME}/common/lib"> <include name="servlet-api.jar"/> </fileset> </path> </target>
次はweb.xml, struts-config.xmlファイルを出力するタスクの部分です
<target name="strutsgenerateDD" depends="-post-init"> <delete> <fileset dir="${web.dir}"> <include name="struts-config-person.xml"/> <include name="web.xml"/> </fileset> </delete> <taskdef name="webdoclet" classname="xdoclet.modules.web.WebDocletTask" classpathref="xdoclet.class.path" /> <webdoclet destDir="${web.dir}" mergeDir="${merge.dir}" verbose="true" excludedTags="@author,@see,@since, @version,@todo,@param,@return,@exception,@Test,@Before,@Override"> <fileset dir="${src.dir}"> <include name="**/person/**/*.java"/> </fileset> <deploymentdescriptor servletspec="2.3" destdir="${web.dir}" mergeDir="${merge.dir}" sessiontimeout="30"> </deploymentdescriptor> <strutsconfigxml version="1.2" destdir="${web.dir}" mergedir="${merge.dir}/person" destinationFile="struts-config-person.xml" /> </webdoclet> </target>
ライブラリーの中のxjavadoc-1.5-snapshot050611.jarファイルが原因。
もともと、xDoclet1.2.3release版にはxjavadoc-1.1.jarが含まれているが、xDocletパーサーが特殊文字をparsingする際、起こるバグを解決するためにそのjarファイルだけ入れ替えたのが禍根。
再び、元の状態で戻せば解決されるが特殊文字の対応はどうするかと言うのはまたの機会で