Я пытаюсь запустить работу Ant в Maven, чтобы посмотреть папку и на основе того, сколько папок в этой папке, создать x количество zip-файлов с именем папки. Я работаю вручную, но было бы неплохо, если бы мне не пришлось редактировать pom каждый раз, когда я добавлял новую папку в эту структуру.Ant-Zip Multiple Folders
<configuration>
<target name="zip">
<zip destfile="root/sub1/sub1.jar">
<zipfileset dir="root/sub1/unpacked/" includes="**" ></zipfileset>
</zip>
</target>
</configuration>
Если бы я добавить SUB2 в корневую директорию, то хотелось бы, чтобы забрать автомагически и создать файл sub2.jar (да, я знаю, я использую .jar, но программа, которая принимает эти файлы ожидает .jar файлы, но они не коробит файлы в том, что они содержат какой-либо код Java, они просто пронестись файлы с расширениями баночке)
Я попытался это
Спасибо, я посмотрел первую ссылку, но, возможно, я делаю это неправильно
<target name="checkDir">
<foreach target="zip" param="theFile">
<dirset dir="root" casesensitive="yes">
<include name="**"/>
</dirset>
</foreach>
</target>
<target name="zip">
<!-- <zip destfile="root/${theFile}/${theFile}.jar">
<zipfileset dir="root/${theFile}/unpacked/" includes="**" ></zipfileset>
</zip> -->
<echo message="${theFile}"/>
</target>
Я просто
[INFO] --- Maven-antrun-плагин: 1,7: запустить (процесс использования JavaScript-плагин) @ войны --- [INFO] Выполнение задач
зип: [эхо] $ {theFile} [INFO] Выполняемые задачи
Тем не менее, кажется, не работает.
pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>process-cartridges</id>
<phase>compile</phase>
<configuration>
<target>
<ant antfile="root/build-main.xml"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
наращивание main.xml Не кажется
<?xml version="1.0" encoding="UTF-8" ?>
<project>
<target name="checkDir">
<foreach target="zip" param="theFile">
<dirset dir="root" casesensitive="yes">
<include name="**"/>
</dirset>
</foreach>
</target>
<target name="zip">
<zip destfile="root/${theFile}/${theFile}.jar">
<zipfileset dir="root/${theFile}/unpacked/" includes="**" />
</zip>
<echo message="TESTZIP ${theFile}"/>
</target>
</project>
не работает. Я что-то пропустил?
Вопрос, который приходит мне на ум - это то, что упаковано именно так? – khmarbaise
Это всего лишь коллекция файлов XML. Почему это делается именно так, это не моя забота, как таковая, поскольку это внутренний продукт, который я должен использовать, и я не говорю об изменениях, поэтому мне просто нужно кататься с ним! Использование ant-jar бросает в папки META-INF, поэтому я этого не делаю. –
Простейшим решением, которое я мог бы сделать, является использование maven-assembly-plugin с соответствующим дескриптором .... – khmarbaise