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

标签 java spring spring-boot spring-boot-starter

我创建了一个简单的启动器 - 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 将为 HTTP 请求做好准备。但是不行,我必须添加 spring-boot-starter-web 和 spring-web 依赖项才能使我的启动器正常工作。

最佳答案

正如 M.Deinum 所说,原因是我在 starter 中将依赖项设置为“可选”。

关于java - 为什么我的 Spring Boot starter 没有将它的依赖项带到项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67899181/

相关文章:

java - 使用 Java 创建一个新的本地数据库

java - 未找到测试 - 使用 JUnit5 时 [在 IntelliJ IDEA 中]

java - Spring Security - 发送到/j_spring_security_check

java - 将生成的 Zip 的 Zip 提供给客户端

java - 未找到事件类型的属性 findEventsOnSearchCriteria (PropertyReferenceException)

java - 如何用Java在cassandra中实现批处理

java - 如何将 JTable 值从一个框架传递到另一个框架

java - jpa 生成值在哪里持久化/如何增加它

spring - 域、DAO 和服务层

java - Swagger 未检测到使用 Spring Data Rest 构建的 Api