繁体   English   中英

为什么我的 Spring Boot starter 没有将其依赖项带到项目中?

[英]Why doesn't my Spring Boot starter bring its dependencies to the project?

我创建了一个简单的启动器 - TimeStarter,里面有 RestController。 这是它的pom:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.0</version>
    <relativePath/>
</parent>

<groupId>ez</groupId>
<artifactId>time-starter-spring-boot-starter</artifactId>
<version>0.0.1</version>
<name>time-starter</name>

<properties>
    <java.version>11</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <optional>true</optional>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

我已将 TimeStarter 添加到我的项目中:

<dependencies>
    <dependency>
        <groupId>ez</groupId>
        <artifactId>time-starter-spring-boot-starter</artifactId>
        <version>0.0.1</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

之后,我希望所有必要的依赖项(spring-boot-starter-web)都会出现在我的项目中,并且来自 starter 的 REST controller 将为 Z293C9EA246FF9985DC6F62A650F78986 请求做好准备。 但是不,我必须添加 spring-boot-starter-web 和 spring-web 依赖项才能使我的启动器工作。

正如 M.Deinum 所说,原因是我在启动器中的依赖项是“可选的”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM