SpringBoot获取maven打包时间的两种方式

 更新时间:2024年05月06日 10:22:15   作者:指尖‖舞者  
这篇文章主要介绍了SpringBoot获取maven打包时间的两种方式,文章通过代码示例给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

springboot 获取maven打包时间

pom

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.13.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>

		<!--指定时间格式 -->
		<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
		<!--maven.build.timestamp保存了maven编译时间戳 -->
		<timestamp>${maven.build.timestamp}</timestamp>

	</properties>


	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!--lombok -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
	</dependencies>


	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>

		<resources>
			<resource>
				<directory>src/main/resources/</directory>
				<filtering>true</filtering>
			</resource>
		</resources>
	</build>

方式一

maven.properties

# maven打包时间
maven.package_time=@timestamp@

MavenProperties

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

import lombok.Data;

@Configuration
@ConfigurationProperties(prefix = "maven", ignoreUnknownFields = false)
@PropertySource(value= "classpath:config/maven.properties",encoding = "utf-8")
@Data
@Component
public class MavenProperties {
    /**maven打包时间*/
    private String package_time;
}

测试

	@Resource
    private MavenProperties mavenProperties;
	
	@GetMapping("/mavenTime")
	public String ah() {
		return "最新打包时间:"+modifyTime(packageTime);
	}
	
	/**
     * 修改时间为东8区
     */
    public String modifyTime(String date) {
        Date oldDate=null;
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            oldDate = simpleDateFormat.parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(oldDate);
        calendar.add(Calendar.HOUR_OF_DAY, +8);
        return simpleDateFormat.format(calendar.getTime());
    }	

方式二

application.yml

maven:
  package_time: '@timestamp@' # maven打包时间

测试

@Value("${maven.package_time}")
	private String packageTime;
	
	@GetMapping("/mavenTime")
	public String ah() {
		return "最新打包时间:"+modifyTime(packageTime);
	}
	
	/**
     * 修改时间为东8区
     */
    public String modifyTime(String date) {
        Date oldDate=null;
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            oldDate = simpleDateFormat.parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(oldDate);
        calendar.add(Calendar.HOUR_OF_DAY, +8);
        return simpleDateFormat.format(calendar.getTime());
    }

到此这篇关于SpringBoot获取maven打包时间的两种方式的文章就介绍到这了,更多相关SpringBoot maven打包时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Spring Boot Security工作流程

    详解Spring Boot Security工作流程

    Spring Security,这是一种基于 Spring AOP 和 Servlet 。这篇文章主要介绍了Spring Boot Security的相关知识,需要的朋友可以参考下
    2019-04-04
  • Java ReentrantLock的可重入性与公平锁机制详解

    Java ReentrantLock的可重入性与公平锁机制详解

    这篇文章主要介绍了Java ReentrantLock的可重入性与公平锁机制,Java中的ReentrantLock是一个可重入的互斥锁,基于AQS实现,它允许同一线程多次获取同一把锁,并控制加锁与释放,支持公平/非公平策略及tryLock等灵活特性,需要的朋友可以参考下
    2026-02-02
  • SpringBoot配置文件中数据库密码加密两种方案(推荐)

    SpringBoot配置文件中数据库密码加密两种方案(推荐)

    SpringBoot项目经常将连接数据库的密码明文放在配置文件里,安全性就比较低一些,尤其在一些企业对安全性要求很高,因此我们就考虑如何对密码进行加密,文中给大家介绍加密的两种方式,感兴趣的朋友一起看看吧
    2019-10-10
  • Java编译期常量与运行时常量的区别详解

    Java编译期常量与运行时常量的区别详解

    在Java开发中,常量是我们每天都会接触的概念,从接口超时时间、业务枚举值,到全局配置参数,常量的合理使用能提升代码可读性、可维护性,甚至优化程序性能,但很多同学只知道用final修饰常量,却分不清「编译期常量」和「运行时常量」的本质区别,本文给大家详细说说
    2026-05-05
  • java中Executor,ExecutorService,ThreadPoolExecutor详解

    java中Executor,ExecutorService,ThreadPoolExecutor详解

    这篇文章主要介绍了java中Executor,ExecutorService,ThreadPoolExecutor详解的相关资料,需要的朋友可以参考下
    2017-02-02
  • struts2中类型转换实例代码

    struts2中类型转换实例代码

    这篇文章主要介绍了struts2中类型转换实例代码,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • Java如何获取List<String>中的String详解

    Java如何获取List<String>中的String详解

    工作了这么长时间了,一直没有记录的习惯,以至于导致我即便是查过的东西总会忘记,下面这篇文章主要给大家介绍了关于Java如何获取List<String>中String的相关资料,需要的朋友可以参考下
    2022-02-02
  • java迭代器原理及迭代map的四种方式

    java迭代器原理及迭代map的四种方式

    本文我们将了解一下java迭代器原理及其在Java中迭代Map各种不同方法。具有一定的参考价值,感兴趣的可以了解一下
    2021-09-09
  • Java中new Date().getTime()指定时区的时间戳问题小结

    Java中new Date().getTime()指定时区的时间戳问题小结

    本文主要介绍了Java中new Date().getTime()时间戳问题小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • MyBatis实现if-else的示例代码

    MyBatis实现if-else的示例代码

    MyBatis实现if-else功能可以通过和标签来完成,这些标签提供了一种类似于Java中switch语句的方式来处理多分支条件逻辑,下面就来具体了解一下
    2025-11-11

最新评论