无法将依赖项添加到pom.xml文件

时间:2019-08-21 21:14:18

标签: spring spring-boot

我正在我发现的网站上关注Springboot教程。该站点告诉我们将各种依赖项添加到我们的pom.xml文件中。我通过Spring Initializr添加了Web和thymeleaf依赖项。但是,我意识到我忘记添加安全性依赖性。当我尝试编辑代码并通过输入以下内容添加安全性依赖项时:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</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-webflux</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.projectreactor</groupId>
        <artifactId>reactor-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

1 个答案:

答案 0 :(得分:0)

您应该inherit spring-boot-starter-parent中的项目:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.7.RELEASE</version>
</parent>

父项目提供以下功能:

  • 将Java 1.8作为默认编译器级别。
  • UTF-8源编码。
  • 从Spring-boot-dependencies pom继承的Dependency Management section,用于管理常见依赖项的版本。 这种依赖关系管理可让您在自己的<version>中使用这些依赖关系的pom标签。
  • 具有repackage执行ID的repackage goal的执行。
  • 明智的resource filtering
  • 敏感的插件配置(exec pluginGit commit IDshade)。
  • application.propertiesapplication.yml的敏感资源过滤,包括特定于配置文件的文件(例如application-dev.propertiesapplication-dev.yml

use spring-boot-dependencies BOM

<dependencyManagement>
    <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.1.7.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

当您不想从spring-boot-starter-parent POM继承时,可以使用BOM。您可能需要使用自己的公司标准父级,或者可能希望显式声明所有Maven配置。您仍将保留依赖关系管理的好处,而不是插件管理的好处。

这两种解决方案都允许您省略Spring依赖项的版本。