加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – 在Spring Boot Starter中获取ArtifactId和Version

发布时间:2020-12-15 01:41:44 所属栏目:大数据 来源:网络整理
导读:我目前正在开发一个Spring Boot Starter,它将托管Restful Web服务,其中包含一些有关正在运行的应用程序的元数据. 我无法从mainfest文件中提取artifactId和versionId.我相信我的问题是在主Test测试应用程序之前加载了自动配置类,因此尚未发现清单.如果我从错

我目前正在开发一个Spring Boot Starter,它将托管Restful Web服务,其中包含一些有关正在运行的应用程序的元数据.

我无法从mainfest文件中提取artifactId和versionId.我相信我的问题是在主Test测试应用程序之前加载了自动配置类,因此尚未发现清单.如果我从错误的角度接近问题,我不确定我的逻辑是否正确.

我最初遵循以下tutorial进行设置.

这给了我3个独立的项目

没有上下文的通用Spring服务
这些服务的AutoConfiguration项目
Spring Boot启动器

我将启动器与测试项目配对作为最终结果.

目前,maven正在与Spring Boot一起使用以生成清单文件.

Implementation-Title:MyExampleProjectWithCustomStarter
实现版本:0.0.1-SNAPSHOT
Archiver-版本:Plexus Archiver
内置:mcf
Implementation-Vendor-Id:com.coolCompany
Spring-Boot-Version:1.5.4.RELEASE
实施 – 供应商:Pivotal Software,Inc.
Main-Class:org.springframework.boot.loader.JarLauncher
Start-Class:com.coolcompany.SpringBootExampleApplication
Spring-Boot-Classes:BOOT-INF / classes /
Spring-Boot-Lib:BOOT-INF / lib /
创建者:Apache Maven 3.5.0
Build-Jdk:1.8.0_131
Implementation-URL:http:// someurl

但是,当我尝试从我的通用服务包中找到Example项目的清单文件时,我找不到该文件.

  private String getApplicationVersion(String applicationName,List

当前清单实施标题:

Spring Boot Web Starter
????Spring Boot Starter
????春季启动
????Spring Boot AutoConfigure
????Spring Boot Logging Starter
????空值
????空值
????JCL-过SLF4J
????空值
????log4j的环比SLF4J
????空值
????Spring Boot Tomcat Starter
????Apache Tomcat
????Apache Tomcat
????Apache Tomcat
????冬眠验证器
????空值
????JBoss日志记录3
????同学
????杰克逊 – 数据绑定
????杰克逊的注解
????杰克逊核心
????弹簧网
????春天的AOP
????弹簧豆
????春天上下文
????弹簧webmvc
????弹簧表达
????弹簧启动执行器启动器
????弹簧启动执行器
????空值
????** MyCustom-spring-boot-starter
????** MyGenericSpringService
????空值
????空值
????空值
????度量核心
????用于度量标准的JVM集成
????空值
????空值
????杰克逊数据类型:JSR310
????** MyService-spring-boot-autoconfigure
????SLF4J的API
????弹簧核心

**缺少MyExampleProjectWithCustomStarter

清单记录数:44

最佳答案
嘿,经过多方努力,我发现了一个非常简单的答案. (这是spring-boot-actuator获取信息的方式)

Spring Boot Maven插件配备了build-info目标.只要在主项目中触发此目标,Spring就会有一个BuildProperties类,您可以接收信息.

            

您可以访问启动器中的属性,如:

@Autowired
BuildProperties buildProperties;

...
buildProperties.getArtifact();
buildProperties.getVersion();

您甚至可以从插件中指定其他属性.有关更多详细信息,请参阅插件文档:
https://docs.spring.io/spring-boot/docs/current/maven-plugin/build-info-mojo.html

不幸的是,我从来没有完全理解为什么我无法访问正确的清单,但这应该有助于其他任何人试图解决这个问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读