Итак, я собрал ваш проект локально, и манифест в quark-common.jar
выглядит примерно так:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven 3.5.2
Built-By: ...
Build-Jdk: 10.0.2
У него нет основного класса, также отсутствуют другие свойства.
Причина в том, что вам не нужна конфигурация для spring-boot-maven-plugin
. Это должно быть что-то вроде:
. . .
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.6.RELEASE</version>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<classifier>exec</classifier>
</configuration>
</execution>
</executions>
. . .
Результат MANIFEST.MF
будет выглядеть примерно так:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven 3.5.2
Built-By: ...
Build-Jdk: 10.0.2
Main-Class: org.springframework.boot.loader.JarLauncher
Start-Class: com.quark.common.CommonApplication
Spring-Boot-Version: 1.5.6.RELEASE
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib
И затем вы запускаете свое приложение с java -jar quark-common-exec.jar
(оно создает дополнительный исполняемый артефакт с расширением exec
).
Надеюсь, это поможет вам.
Обновление
Отвечая на ваш вопрос:
Я полагаю, это происходит потому, что вы используете spring-boot-dependencies
BOM (это обеспечивает). А в вашем другом проекте вы использовали spring-boot-starter-parent
в качестве родителя для вашего модуля. Вот так:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
</parent>
Так что у него есть все необходимые настройки плагинов. И spring-boot-dependencies
bom этого не делает, он просто предоставляет версии зависимостей и плагинов.