#ant
#ant
Вопрос:
У меня есть файл свойств, который содержит список jar из разных путей, подобных этому
/gwt/X/2.1.0/gwt-servlet.jar
/gwt/X/2.1.0/gwt-user.jar
/gwt/X/2.1.0/gwt-dev.jar
/gwt/X/2.1.0/gwt-soyc-vis.jar
/log4j/X/1.2.15/log4j-1.2.15.jar
/GWT_LOG/X/3.0.3/gwt-log-3.0.3.jar
/GWT_MATH/X/2.1/gwt-math-2.1.jar
/GWT_MATH/X/2.1/gwt-math-server-2.1.jar
/GWT_Commons_Logging/X/0.3/GWT-commons-logging/gwt-commons-logging-0.3.jar
/GWT_Commons_Logging/X/0.3/GWT-commons-logging/gwt-commons-logging-service-0.3.jar
В этом списке у меня около 1000 таких jar.
Я хотел бы удалить относительные пути перед именем jar и поместить имена jar в новый файл примерно так
gwt-servlet.jar
gwt-user.jar
gwt-dev.jar
gwt-soyc-vis.jar
log4j-1.2.15.jar
gwt-log-3.0.3.jar
gwt-math-2.1.jar
gwt-math-server-2.1.jar
gwt-commons-logging-0.3.jar
gwt-commons-logging-service-0.3.jar
Это не одноразовое действие, поэтому я хотел бы создать цель или задачу в моем build.xml для ежедневного использования.
Ответ №1:
<replaceregexp file="file.txt" match="[^ ]*/" replace="" byline="true" flags="g"/>
Комментарии:
1. Если этот ответ решил вашу проблему, вам следует установить флажок рядом с ответом, чтобы «принять» его.
Ответ №2:
Ant не очень подходит для подобных задач. Вероятно, гораздо проще написать для этого простую Ant-задачу на Java (или небольшую Java-программу; просто создайте File
объекты и вызовите getName()
, чтобы получить последний элемент path).
Но если вам нужно: script
и scriptdef
, вероятно, ваши друзья (при условии, что ваша версия Ant достаточно свежая; в документах упоминается 1.6.3). Вы можете вызвать любой Java-метод из этих скриптов. Смотрите руководство для примеров.