Spring-Boot Внешняя папка lib с Maven - PullRequest
0 голосов
/ 12 февраля 2019

Мне нужно отобразить зависимости моего приложения.Я хочу получить следующий макет для моего Spring Boot Application

.
├── *.properties
├── static
├── main.jar
└── lib
     └── *.jar

Где папка lib содержит мои зависимости.

Я пытаюсь с maven-jar-plugin иspring-boot-maven-plugin но я получаю следующую ошибку:

Could not find or load main class com.Application

Мой pom.xml

<profile>
            <id>dist</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <version>3.0.2</version>
                        <configuration>
                            <finalName>alfred</finalName>
                            <excludes>
                                <exclude>src/main/resources/*</exclude>
                                <exclude>*.properties</exclude>
                                <exclude>*.html</exclude>
                                <exclude>**/assembly/*</exclude>
                                <exclude>**/lib/*</exclude>
                                <exclude>**/static/*</exclude>
                                <exclude>**/templates/*</exclude>
                            </excludes>
                            <archive>
                                <manifest>
                                    <addClasspath>true</addClasspath>
                                    <Main-Class>com.Application</Main-Class>
                                </manifest>
                                <manifestEntries>
                                    <Class-Path>./alfred_lib/**</Class-Path>
                                    <Class-Path>./**</Class-Path>
                                </manifestEntries>
                            </archive>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                        <version>2.1.2.RELEASE</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>repackage</goal>
                                </goals>
                                <configuration>
                                    <attach>false</attach>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>integration-test</goal>
                                    <goal>verify</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <version>2.2-beta-1</version>
                        <configuration>
                            <descriptor>src/main/resources/assembly/dist.xml</descriptor>
                            <finalName>alfred</finalName>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

Мой src/main/resources/assembly/dist.xml:

<assembly>
    <formats>
        <format>zip</format>
    </formats>
    <fileSets>
        <fileSet>
            <directory>src/main/resources/assembly</directory>
            <outputDirectory></outputDirectory>
            <includes>
                <include>**.sh</include>
            </includes>
            <fileMode>0755</fileMode>
        </fileSet>
        <!-- Estáticos -->
        <fileSet>
            <directory>src/main/resources</directory>
            <outputDirectory></outputDirectory>
            <excludes>
                <exclude>lib/**</exclude>
                <exclude>assembly/**</exclude>
            </excludes>
        </fileSet>
        <!-- Aplicación -->
        <fileSet>
            <directory>target</directory>
            <outputDirectory></outputDirectory>
            <includes>
                <include>*.jar</include>
            </includes>
        </fileSet>
    </fileSets>
    <!-- Dependencias -->
    <dependencySets>
        <dependencySet>
            <outputDirectory>alfred_lib</outputDirectory>
        </dependencySet>
    </dependencySets>
</assembly>

Я читаю уже несколько дней и отменил:

  • Использование spring-boot-thin-layout
  • Создать дальнюю банку: Это требование проекта.
...