Мне нужно было добавить MainClass в файл манифеста в банке, который генерируется maven. Поиск по SO и еще где-показывает несколько options- 2 из них являютсяmaven - Помогите мне понять актуальность именования тегов
Подход 1: Добавить в Maven-составитель-плагин
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
<archive>
<manifest>
<mainClass>com.mypackage.myMainClass</mainClass>
<!--addClasspath>false</addClasspath-->
</manifest>
<manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
подход 2: Использование Maven сборки-плагин
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>foo.bar.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
Если вы отметили, что config/инструкция класса манифеста находится под тегом <archive>
.
Мой вопрос: почему он находится под биркой <archive>
? Я не понимаю соглашение об именах/релевантность здесь для тега. Мы ничего здесь не архивируем.