当前位置: 首页 > 知识库问答 >
问题:

我应该将依赖项spring boot starter包含到我的自定义spring boot starter中吗?

汪阳飇
2023-03-14

如果我创建了一个定制的spring boot starter模块,是否需要包含依赖关系spring boot starter?

在Spring Boots的github中:

  • 一些启动器将依赖项添加到其pom中。xml(spring boot starter web,spring boot starter thymeleaf)
  • 其他一些起动机没有(spring-boot-starter-log4j2、spring-boot-starter-undertow、spring-boot-starter-tomcat)

是否有理由不将其添加到依赖项中?

共有1个答案

赫连淳
2023-03-14

如果您的启动器依赖于spring-boot-starter,那么任何仅依赖于您的启动器的应用程序都将具有成为Spring Boot应用程序所需的所有依赖项。一般来说,这就是您希望启动器的行为方式。

spring-boot-stater-log4j2spring-boot-starter-undertowspring-boot-starter-tomcat略有不同,因为它们不打算单独使用。Spring Boot留档将它们称为技术启动器。它们旨在与现有启动器一起使用,以更改所使用的底层技术。例如,如果您正在构建Web应用程序,您将依赖spring-boot-starter-web。此启动器默认使用Tomcat作为嵌入式容器。如果您想交换到Undertow,您应该排除spring-boot-starter-tomcat并在spring-boot-starter-undertow旁边添加对spring-boot-starter-undertow的依赖项:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <!-- Exclude the Tomcat dependency -->
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!-- Use Undertow instead -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
 类似资料:
  • 问题内容: 为什么我应该(或不应该)将gradle依赖项包含为, 有什么好处/缺点? 如您所见,我在支持它的下面的库中添加了@aar。但是一切似乎都还没有做完… 问题答案: 在大多数情况下,您可以使用或上载多种格式的库。 如果不指定后缀,则将以其默认格式(由作者定义,如果不是,则以默认格式)以及所有依赖项下载该库。 指定后缀时,将强制以指定的格式(可能存在或可能不存在)下载库。这很有用,例如当作者

  • 我试图在IntelliJ中用Scala2.11.7构建一个项目。我已经将设置为,但是当我检查外部库时,我可以看到。 是否需要将声明为中的依赖项?这些文件令人困惑,似乎在连续的段落中说我确实需要然后不需要: 当使用标准库以外的Scala依赖项时,将其添加为普通托管依赖项。例如,要依赖Scala编译器, libraryDependencies+=“org.scala-lang”%“scala-comp

  • 我正在开发一个Java项目,使用maven作为依赖项管理器/构建工具。我当前在将依赖项的依赖项解析到正确版本时遇到问题。 有问题的依赖项称为JasperReports-Functions-6.1.0.jar,它不是托管在maven repo中,而是以jar形式提供的。 如何强制jar依赖项使用子依赖项的某个版本?

  • 问题内容: 我正在运行Java应用程序,并且出现以下错误: java.lang.ClassNotFoundException:org.apache.http.util.Args 我认为问题在于一个库试图通过反射使用该类,但是没有找到它。 我应该在Maven pom.xml文件中添加什么来解决此依赖性? 我的类路径已经包含以下与该类相关的参考: 我的档案: 问题答案: 您需要添加以下依赖项:

  • 我使用的是Android Studio1.4

  • 问题内容: 摘要: 我有一个依赖于JAR文件的AAR文件,当我构建AAR项目时,它不包含JAR代码。 细节: 我有一个Java SDK库项目,其中包含我们用于Java Web项目的代码,此类库是使用内部Nexus服务器(如JAR)创建的,并驻留在内部。 目的是通过一个AAR库提供此JAR库的“ Android配置”版本,多个Android应用程序可以使用该版本,并最大程度地减少了实现它的工作量(和