Управляемые весенние загрузочные зависимости maven не загружаются в папку m2 - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь использовать lombok в моем проекте весенней загрузки. Я могу видеть зависимость Ломбок в эффективном POM, как показано ниже.

<dependency>
  <groupId>org.postgresql</groupId>
  <artifactId>postgresql</artifactId>
  <version>42.2.5</version>
</dependency>
<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.18.6</version>
</dependency>
<dependency>
  <groupId>org.quartz-scheduler</groupId>
  <artifactId>quartz</artifactId>
  <version>2.3.1</version>

Бути не видит файл jar в папке m2, и я не могу использовать его в своем проекте. ex -> @Getter не распознается. Однако, если я добавлю зависимость к моему фактическому pom, как показано ниже. Он загружается в папку m2, и я могу использовать его в своем проекте, но я получаю предупреждение о том, что я переопределяю управляемую зависимость.

<dependencies>
        <!-- <dependency> -->
        <!-- <groupId>org.springframework.boot</groupId> -->
        <!-- <artifactId>spring-boot-starter-actuator</artifactId> -->
        <!-- </dependency> -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <!-- <dependency> -->
        <!-- <groupId>org.springframework.boot</groupId> -->
        <!-- <artifactId>spring-boot-starter-security</artifactId> -->
        <!-- </dependency> -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!-- Does not work if i dont add below dependency -->

        <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <version>1.18.6</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

Может кто-нибудь объяснить это поведение, пожалуйста? Я ожидаю, что он будет загружен без добавления его в pom.xml, поскольку он находится в эффективном pom.

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

Если вы используете <dependencyManagement> в родительском POM, это не заставит ваш проект зависеть от этих библиотек, и, следовательно, Maven не будет загружать его.

Он должен отображаться поднормальный раздел <dependencies>, который фактически указывает, что вашему проекту нужна зависимость, и, таким образом, заставляет Maven загрузить его.

0 голосов
/ 01 июля 2019

Вам необходимо установить эту опцию: enter image description here

Или выберите «Включить автоматический импорт» в этом всплывающем меню (которое отображается в правом нижнем углу) при измененииваш пом.

enter image description here

...