Есть такое требование:Merge XML-файл в скрипте
Вставьте следующий servelet в web.xml, если не существует:
<servlet>
<description>My Servlet</description>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.tom.servlet.MyServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/servlet/myServlet/*</url-pattern>
</servlet-mapping>
Я использую XMLTask в моем муравьиных сценарий
Пробовал следующий сценарий, но не удалось:
<xmltask source="${env.My_HOME}/WEB-INF/web.xml" dest="${env.My_HOME}/WEB-INF/web.xml" report="false">
<copy property="servletfound" path="/web-app/servlet[servlet-name='myServlet']/text()" />
<insert unless="servletfound" path="/web-app/servlet[last()]" position="after">
<![CDATA[
<servlet>
<description>My Servlet</description>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.tom.servlet.MyServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/servlet/myServlet/*</url-pattern>
</servlet-mapping>
]]>
</insert>
</xmltask>
Мой вопрос заключается в том, как обнаружить, что сервлет есть или нет, потому что я должен избегать вставки дважды. Звучит, моя грамматика xpath неверна. Пожалуйста помоги.
попробовать эту /web-app/servlet[count(./servlet-class) > 1], и это тоже нуждается в некоторых улучшениях – Raghavendra
что это значит? – Tom