Для строк я сначала испытал бы Драгоценный камень Ruby, который @sam-saffron упомянул ниже. Легче установить: http://github.com/pvande/differ/tree/master
gem install differ
irb
require 'differ'
one = "one two three"
two = "one two 3"
Differ.format = :color
puts Differ.diff_by_word(one, two).to_s
Differ.format = :html
puts Differ.diff_by_word(one, two).to_s
Попробуйте maven-dependency-plugin с целью copy-dependencies
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
PS.
Знаете ли вы об интеграции maven и IDE (для Eclipse pe )? Maven может сгенерировать проект для конкретной среды IDE и включить все зависимые jar-файлы в качестве переменных (указывая на эти jar-файлы в локальном репозитории), поэтому нет необходимости использовать зависимости копирования во вложенную папку.
На самом деле нет ничего, что могло бы создать связку с исходными и зависимостями из коробки. Для этого вам необходимо использовать комбинацию некоторых плагинов.
Для зависимостей Maven 2 Dependency Plugin и его копии-зависимости
помогут, как указано cetnar.
Для источников вам может потребоваться подключаемый модуль Maven Source и его источник: агрегатная
цель (или, возможно, подключаемый модуль сборки Maven и предопределенный src
дескриптор, но source: aggregate
удобен для многомодульных сборок).
Чтобы связать все вместе (и, возможно, распаковать исходники), я бы использовал Maven Assembly Plugin .