Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Spring引导插件中定义系统属性_Java_Spring_Maven_Spring Boot_System Properties - Fatal编程技术网

Java 在Spring引导插件中定义系统属性

Java 在Spring引导插件中定义系统属性,java,spring,maven,spring-boot,system-properties,Java,Spring,Maven,Spring Boot,System Properties,我想在我的应用程序中指定一些系统属性(在编译时确定) 我正在使用SpringBootMaven插件进行编译 目前,根据这些问题: 我尝试了以下设置(但是这不适用于其他插件) org.springframework.boot springbootmaven插件 application.boot.AppStarter application.version ${application.version} 发布日期 ${timestamp} 重新包装 如何在此插件中指定属性?您添加的Java系统属性

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

我正在使用SpringBootMaven插件进行编译

目前,根据这些问题: 我尝试了以下设置(但是这不适用于其他插件)


org.springframework.boot
springbootmaven插件
application.boot.AppStarter
application.version
${application.version}
发布日期
${timestamp}
重新包装

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

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

如果你把你的罐子分发给别人会发生什么。您认为这些物业将如何提供

解决方案 请参阅本文以了解如何在运行时访问artifactId和版本 以类似的方式,您也可以将时间戳条目添加到
src/main/resources/project.properties

buildTimestamp=${timestamp}

timestamp
不是像
project.version
project.artifactId
那样的预定义属性。因此,您必须设置从Maven属性
${Maven.build.timestamp}
提取时间戳,并将其设置为
timestamp
属性的值。这已经在中得到了回答。

spring boot maven插件只是创建了一个可执行的jar。您试图对系统属性做什么?您的意思是说,在执行生成的jar时,需要在属性文件中提供一些属性吗?重新打包不支持任何systemProperties参数,如中所示,我需要两件事。1) Hermes.version maven pom.xml属性和2)构建jar的日期,以便从我的代码中访问。如果它们作为系统属性,我可以使用system.getProperty(“”)访问它们,而它现在正试图成功地读取属性,我得到一个:无法解析字符串值“${property.name}”中的占位符“property.name”,类似于此吗?我的属性正在被读取,就像我将它们作为正常值放置一样,它被成功读取。但是,如果我使用${},它将无法检查资源筛选是否正常工作。请在Maven构建之后检查target/classes/project.properties。属性文件正在成功地进行调整。我在属性读取方面遇到了一些问题。我会再调查一下,然后再回来找你
buildTimestamp=${timestamp}