什么是“springbootstarter”jar?

nfs0ujit  于 2021-07-13  发布在  Java
关注(0)|答案(3)|浏览(322)

在春靴上,有一些jar的图案 spring-boot-starter . 所有这些jar都不包含任何 Package 。它们有什么用?
在maven poms中,添加了以下依赖项:
org.springframework。boot:spring-boot-starter-web
org.springframework。boot:spring-boot-starter-actuator
org.springframework。boot:spring-boot-starter-security
我实际需要哪些spring引导jar来使用这些jar中的功能?我的项目没有任何依赖项管理。我的项目是一个springmvc应用程序,它使用springsecurity。

yws3nbqq

yws3nbqq1#

这些依赖关系意味着为具有所有所需依赖关系的临时框架项目提供一个统一的条目。
它们通常应该从项目描述符(pom.xml)继承,这样您就可以获得配置版本的所有父依赖项。开发商方面没有更多负担:
starterpom是一组方便的依赖描述符,可以包含在应用程序中。您可以一站式地获得所需的所有spring和相关技术,而无需搜索示例代码和复制粘贴大量依赖关系描述符。例如,如果您想开始使用spring和jpa进行数据库访问,只需在项目中包含springbootstarter数据jpa依赖项,就可以开始了。
参考,Spring启动机pom。

编辑:

这些pom可用于合成可用于特定类型项目的依赖项,例如,对于简单的spring mvc项目,将包括以下构件(分别从spring boot starter、spring boot starter web、spring boot starter security读取):
spring boot工件:
org.springframework。boot:spring-boot
org.springframework。boot:spring-boot-autoconfigure
org.springframework。boot:spring-boot-starter-logging
spring核心、web、mvc、安全工件:
org.spring公司framework:spring-core
org.spring公司framework:spring-web
org.spring公司framework:spring-webmvc
org.spring公司framework:spring-beans
org.spring公司framework:spring-context
org.spring公司framework:spring-expression
org.spring公司framework:spring-aop
org.springframework。security:spring-security-config
org.springframework。security:spring-security-web
组织。hibernate:hibernate-validator
com.fasterxml.jackson。core:jackson-databind
这些工件可以在maven中央存储库中无缝地导航搜索结果。
请注意,这可能不是一个完整的参考列表,因为某些组件可能有误,因此工件可能会被更新。

y4ekin9u

y4ekin9u2#

简单地说,它们是依赖关系描述符,列出了可传递的依赖关系以及经过测试可以协同工作的版本,以节省您将库放在一起以处理应用程序的某些方面的时间。

lf5gs5x2

lf5gs5x23#

您还可以使用以下命令让maven报告spring boot project pom.xml文件中定义的各种spring boot starter-*所需的依赖关系

mvn dependency:resolve

例如,在spring1.5.8.release中,使用了以下jar(和版本)
注意格式为组id:工件id:version:scope

The following files have been resolved:
    com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile
    org.jboss.logging:jboss-logging:jar:3.3.1.Final:compile
    aopalliance:aopalliance:jar:1.0:compile
    org.hamcrest:hamcrest-library:jar:1.3:test
    org.mockito:mockito-core:jar:1.10.19:test
    org.assertj:assertj-core:jar:2.6.0:test
    org.springframework:spring-beans:jar:4.3.12.RELEASE:compile
    org.springframework.boot:spring-boot-test:jar:1.5.8.RELEASE:test
    org.springframework.boot:spring-boot-autoconfigure:jar:1.5.8.RELEASE:compile
    org.springframework.boot:spring-boot-starter-tomcat:jar:1.5.8.RELEASE:compile
    org.skyscreamer:jsonassert:jar:1.4.0:test
    org.yaml:snakeyaml:jar:1.17:runtime
    com.fasterxml:classmate:jar:1.3.4:compile
    org.slf4j:jcl-over-slf4j:jar:1.7.25:compile
    org.springframework.boot:spring-boot-starter-test:jar:1.5.8.RELEASE:test
    org.hamcrest:hamcrest-core:jar:1.3:test
    com.jayway.jsonpath:json-path:jar:2.2.0:test
    org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.23:compile
    org.springframework.boot:spring-boot:jar:1.5.8.RELEASE:compile
    org.apache.tomcat:tomcat-annotations-api:jar:8.5.23:compile
    org.springframework:spring-context:jar:4.3.12.RELEASE:compile
    org.hibernate:hibernate-validator:jar:5.3.5.Final:compile
    javax.validation:validation-api:jar:1.1.0.Final:compile
    org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.23:compile
    org.springframework.boot:spring-boot-starter-logging:jar:1.5.8.RELEASE:compile
    com.fasterxml.jackson.core:jackson-core:jar:2.8.10:compile
    org.ow2.asm:asm:jar:5.0.3:test
    org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.23:compile
    org.slf4j:log4j-over-slf4j:jar:1.7.25:compile
    org.springframework:spring-web:jar:4.3.12.RELEASE:compile
    ch.qos.logback:logback-core:jar:1.1.11:compile
    org.springframework.security:spring-security-core:jar:4.2.3.RELEASE:compile
    org.springframework:spring-test:jar:4.3.12.RELEASE:test
    org.springframework.boot:spring-boot-starter:jar:1.5.8.RELEASE:compile
    org.springframework.security:spring-security-test:jar:4.2.3.RELEASE:test
    org.springframework.boot:spring-boot-starter-web:jar:1.5.8.RELEASE:compile
    org.springframework:spring-core:jar:4.3.12.RELEASE:compile
    org.springframework.boot:spring-boot-starter-security:jar:1.5.8.RELEASE:compile
    org.springframework.boot:spring-boot-actuator:jar:1.5.8.RELEASE:compile
    org.objenesis:objenesis:jar:2.1:test
    org.springframework:spring-expression:jar:4.3.12.RELEASE:compile
    org.springframework.boot:spring-boot-starter-actuator:jar:1.5.8.RELEASE:compile
    org.springframework.security:spring-security-config:jar:4.2.3.RELEASE:compile
    org.springframework.security:spring-security-web:jar:4.2.3.RELEASE:compile
    org.springframework:spring-aop:jar:4.3.12.RELEASE:compile
    junit:junit:jar:4.12:test
    org.slf4j:slf4j-api:jar:1.7.25:compile
    net.minidev:json-smart:jar:2.2.1:test
    org.springframework.boot:spring-boot-test-autoconfigure:jar:1.5.8.RELEASE:test
    net.minidev:accessors-smart:jar:1.1:test
    org.springframework:spring-webmvc:jar:4.3.12.RELEASE:compile
    ch.qos.logback:logback-classic:jar:1.1.11:compile
    org.slf4j:jul-to-slf4j:jar:1.7.25:compile
    com.fasterxml.jackson.core:jackson-databind:jar:2.8.10:compile

只需忽略具有部署测试范围的jar。
如果您手边没有SpringBoot项目,只需在SpringInitializer中创建一个,使用您需要的SpringBoot启动程序即可。它还使用maven Package 器,它 Package maven命令,节省了单独设置和安装maven的时间。
因此,只需从spring initializer下载zip文件,解压并在解压文件夹中打开命令提示符,然后使用以下命令
对于linux/mac os

./mvnw dependency:resolve

对于windows

./mvnw.cmd dependency:resolve

相关问题