当前位置: 首页 > 面试题库 >

在Spring Boot插件中定义系统属性

金晗日
2023-03-14
问题内容

我想在我的应用程序中指定一些系统属性(在编译时确定)。

我正在使用Spring Boot Maven插件进行编译

当前,根据以下问题:为Maven项目指定系统属性我尝试了以下设置(但是对于其他插件,它不起作用)

    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <mainClass>application.boot.AppStarter</mainClass>
                <systemProperties>
                    <systemProperty>
                        <name>application.version</name>
                        <value>${application.version}</value>
                    </systemProperty>
                    <systemProperty>
                        <name>release.date</name>
                        <value>${timestamp}</value>
                    </systemProperty>
                </systemProperties> 
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>

如何在此插件中指定属性?


问题答案:

您添加的Java系统属性只能通过添加过程来访问。因此,即使您在Maven构建过程中设法添加了一些系统属性,构建完成后也将不再存在。

如果您将jar分发给其他人,将会发生什么。您如何期望这些属性可用?

以了解如何在运行时访问artifactId和版本。您可以通过类似的方式将时间戳条目添加到src/main/resources/project.properties

buildTimestamp=${timestamp}

timestamp不是类似project.version或的预定义属性project.artifactId。因此,您必须设置从Maven属性提取时间戳${maven.build.timestamp},并将其设置为timestamp属性的值。



 类似资料:
  • 我想在我的应用程序中指定一些系统属性(在编译时确定)。 我正在使用spring boot maven插件来编译 目前,根据以下问题:为Maven项目指定系统属性,我尝试了以下设置(但是,这并不适合其他插件) 我如何指定这个插件中的属性?

  • https://marketplace.visualstudio.com/#VSCode Node.js插件支持 https://github.com/SamVerschueren/vscode-ava

  • YOG2 插件系统是整个框架的骨架。在 YOG2 中,从中间件管理到日志系统和FIS静态资源管理,所有功能的引入都是以插件的形式引入的,因此在了解每个功能的具体用法之前,我们需要对插件系统有一个整体的了解。 YOG2 插件系统的设计目标是 通过插件系统实现功能与配置的分离 功能由插件自身实现 配置由插件系统统一管理,完全暴露给用户 这样设计的优点是我们可以对 yog2 project 的运行时核心

  • Home assistant 支持设备显示的高度自定义,你可以给设备更换昵称、图标、图标以及隐藏设备等。 设置方法 设备的个性化由 customize 模块定义,默认配置文件 configuration.yaml 中 customize 位于 homeassistant模块下: homeassistant: # 名称,可为中文 name: 家 # 纬度 latitude: !sec

  • 在编写扩展之前,我们首先需要了解一下 Cocos Creator 3D 内,扩展的基础结构。 Cocos Creator 3D 编辑器是基于 GitHub 的 Electron 内核开发。Electron 是一个集成了 Node.js 和 Chromimu 的跨平台开发框架。 在 Electron 的架构中,一份应用程序由主进程和渲染进程组成,其主进程负责管理平台相关的调度,如窗口的开启关闭,菜单

  • 我正在将一个ant脚本转换成Maven,并决定使用Maven ant run插件。我走在好的路上,但是我遇到了下面的问题。Ant源脚本使用如下目标定义: 关键是要使用属性值 abc.home 在构建周期的后期,这取决于操作系统(Win、Linux)。在ant脚本中,这是可以的,但是maven ant run插件不支持使用多个目标。我不想使用Maven配置文件标记。如果有,我想使用ant标签?有人有

  • Amazon EMR是否允许将系统属性传递给自定义jar,例如hadoop jar-Dkey=value-myjob。jar?(