Как предотвратить упаковку ломбока в банку Spring Boot? - PullRequest
0 голосов
/ 19 декабря 2018

Если вы посетите официальное руководство Lombok Maven , вы увидите, что его область должна быть provided.Когда я создаю новый проект с нуля, используя start.spring.io и добавляю Lombok, он получает только <optional>true</optional> в полученном pom.Затем я упаковываю Spring boot app, как это, и из любопытства решаю посмотреть, что упаковано в jar:

mvn clean package -DskipTests = true && unzip target / demo-0.0.1-SNAPSHOT.jar -d exploded

Lombok упакован, не имеет значения, если я устанавливаю область действия на provided или только optional=true.

Как запретить включение Lombok в SpringBoot jar?

Моей последней мыслью было попробовать еще одну цель, которая поставляется с плагином Spring Boot:

mvn spring-boot: repackage

Но, к сожалениювыдает следующую ошибку:

перепаковка не удалась: необходимо указать исходный файл

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Lombok будет доступен только в отдельной папке, предоставленной lib вместо обычной папки lib, если вы упаковываете файл war.

Чтобы полностью исключить lombok из окончательного файла jar / war, у вас естьЧтобы сделать это:

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>2.1.1.RELEASE</version>
        <configuration>
            <excludes>
                <exclude>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok</artifactId>
                </exclude>
            </excludes>
        </configuration>
    </plugin>

Пожалуйста, обратитесь к разделу Исключить зависимость от плагина Spring Boot Maven https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/exclude-dependency.html для более подробной информации.

0 голосов
/ 19 декабря 2018

Похоже, это переходная зависимость одной из ваших зависимостей.Если вы подтвердите это, вы знаете, что делать.

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