Я наконец решил это с помощью следующей конфигурации:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<index>true</index>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
С этой конфигурацией все файлы jar (проект и зависимости) перечислены в classpath *1005* * MAN4EST.MF и их записях(файлы на уровне каталога и имена пакетов в соответствии с jar index doc ) будут находиться в INDEX.LIST .
Note # 1: Использование index и addManifest предыдущей версии 2.4 приводит к ошибке, описанной в http://jira.codehaus.org/browse/MJAR-69. Так что обязательно используйте версию 2.4 maven-jar-plugin.
Примечание # 2: Из-за ошибки, описанной в http://jira.codehaus.org/browse/MNGECLIPSE-1219,, зависимости не возникнут ни в MANIFEST.MF, ни в INDEX.LIST, если зависимости будут разрешены с помощью Разрешить артефакты рабочей области (опция конфигурации Eclipse Run).Поэтому убедитесь, что вы а) сначала установили / развернули все зависимости и б) отключили опцию Resolve Workspace (или закрыли проект зависимостей в eclipse), если это необходимо, перед сборкой проекта с помощью eclipse.
Примечание # 3: НЕ ИСПОЛЬЗУЙТЕ jar-with-dependencies (maven-assembly-plugin) и addClasspath (maven-jar-plugin), или вы удвоите все записи в полученном jar.
Примечание # 4: Инструмент командной строки java jar также оценивает путь к классу MANIFEST.MF (Помимо явного перечисления jar-файлов при вызове инструмента, как показано в моем первоначальном примере), см. пример индекса jar doc .
В связи с примечанием № 2 я буду исследоватьANT jar ...
Большое спасибо @khmarbaise, указывающему мне в правильном направлении: -)