我正在我发现的网站上关注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>
答案 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>
父项目提供以下功能:
<version>
中使用这些依赖关系的pom
标签。 repackage
执行ID的repackage
goal的执行。application.properties
和application.yml
的敏感资源过滤,包括特定于配置文件的文件(例如application-dev.properties
和application-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依赖项的版本。