Я хотел бы, чтобы maven объединил uber-jar, созданный шейд-плагином, и сценарий оболочки из каталога all_files.
Структура проекта выглядит так:
all_files/
mvn_script.sh
projB-shaded.jar
maven_project/
guide/
parent-pom.xml
projA/
pom.xml
projB/
pom.xml
JAR-файл создается файлом pom проекта B, а затем помещается в крайнюю папку, чтобы быть готовым к архивированию с помощью сценария оболочки. Причина в том, что сценарий оболочки может вызывать файл jar для выполнения проекта.
Я хочу, чтобы другие программисты могли легко разархивировать файл и без проблем запустить сценарий оболочки. И мне также нужно, чтобы maven упаковал скрипт и банку вместе. Я точно не знаю, как реализовать это в затененном плагине.
Примечание. Я не хочу использовать сборочный плагин, потому что он плохо упаковывает зависимые банки.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<minimizeJar>true</minimizeJar>
<outputFile>../../guide/${project.artifactId}-${project.version}-shaded.jar</outputFile>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>projB.classB</Main-Class>
</manifestEntries>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>