Если у Вас есть большая база данных со строковыми полями, можно очень быстро найти много дубликатов при помощи алгоритм simhash .
Моджо распаковать кажется близким к тому, к чему вы стремитесь. Не знаю, как завершить весь поток, который вы предлагаете.
(кстати, я сомневаюсь, что это хорошая идея. Служебные классы должны помещаться в jar-файлы, а jar-файлы помещаются либо в WAR, либо в EAR. Распаковка служебные банки кажутся неправильными)
Как сказано в ответе blaufish, вы можете использовать maven-dependency-plugin unpack mojo для распаковки артефакта. Однако, чтобы избежать появления jar-файла в WEB-INF / lib, вам нужно не указывать его как зависимость , а вместо этого настроить плагин для распаковки определенных артефактов .
Следующие конфигурация распакует содержимое some.group.id:my-lib:1.0:jar в target / classes на этапе ресурсов процесса, даже если артефакт не определен как зависимость. При этом будьте осторожны, поскольку существует вероятность затирания вашего фактического содержимого, это может вызвать серьезную отладку.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-my-lib</id>
<phase>process-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>some.group.id</groupId>
<artifactId>my-lib</artifactId>
<version>1.0</version>
<type>jar</type>
<overWrite>false</overWrite>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<overWriteReleases>false</overWriteReleases>
</configuration>
</execution>
</executions>
</plugin>
[Ой, только что понял, что вы используете Maven. Я не удаляю этот ответ, потому что он может помочь кому-нибудь из пользователей Ant. Так что мне не нужно модифицировать меня ...]
Сколько раз мне нужно упоминать, что задачи Jar
, War
и Ear
Ant являются подзадачи из Zip один? :-) Если я правильно помню, кое-что вроде этого поможет:
<war dist="my-webapp.war">
<zipgroupfileset dir="libs" includes="*.jar" prefix="WEB-INF/classes"/>
</war>
Также стоит попробовать src = "mylib.jar"
, но я не тестировал этот вариант.