Можем ли мы настроить исполняемый файл Spring Boot Jar? - PullRequest
0 голосов
/ 31 января 2019

У меня есть приложение весенней загрузки, основанное на maven и имеющее несколько модулей.Я использую spring-boot-maven-plugin, однако, этот плагин используется только на одном из модулей.Хотя отдельные jar-файлы для каждого модуля довольно малы, исполняемый файл, создаваемый основным модулем, в котором я использую этот плагин с целью «переупаковки», довольно большой (около 750 МБ).

Я расширил созданный JAR-файл и был немного удивлен, увидев, что он объединяет JAR-файлы для нескольких операционных систем, таких как Windows, Linux, Android и т. Д.

Если выпосмотрите файл opncsv jar на скриншоте ниже, похоже, он объединяет эти jar для 13 различных операционных систем !!

Я понимаю, что исполняемый файл, созданный таким образом, будет работать на кроссплатформенных платформах, но мне просто интересноесли есть способ настроить это исполняемое создание так, чтобы оно упаковывалось только для определенных ОС, таких как linux, на котором я запускаю это приложение.

Большой исполняемый файл в моей ситуации выглядит просто перебором.

enter image description here

Вот плагин

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                    <configuration>
                        <classifier>exec</classifier>
                        <mainClass>org.blabla.products.webapp.Application</mainClass>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Вот версии зависимостей различных jar-файлов, которые я использую.

<properties>
    <java.version>1.8</java.version>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <mysql-connector-java.version>5.1.40</mysql-connector-java.version>

    <!--CHECKED FOR CURRENCY AND UPGRADED AS NEEDED ON 1/27/2019-->
    <findbugs-maven-plugin.version>3.0.5</findbugs-maven-plugin.version>
    <jacoco-maven-plugin.version>0.8.2</jacoco-maven-plugin.version>
    <springfox-swagger2.version>2.9.2</springfox-swagger2.version>
    <org.jsoup.version>1.11.3</org.jsoup.version>
    <opencsv.version>4.4</opencsv.version>
    <httpclient.version>4.5.6</httpclient.version>
    <dl4j.version>1.0.0-beta3</dl4j.version>
    <spring-web.version>5.1.4.RELEASE</spring-web.version>
    <gson.version>2.8.5</gson.version>
    <ehcache.version>3.6.3</ehcache.version>
    <guava.version>27.0.1-jre</guava.version>
    <thymeleaf-extras-springsecurity4.version>3.0.4.RELEASE</thymeleaf-extras-springsecurity4.version>

</properties>

1 Ответ

0 голосов
/ 31 января 2019

Полагаю, вы можете попытаться исключить это с помощью maven.На этот вопрос уже ответили здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...