You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

install4j技术咨询:如何在运行时获取当前执行启动器的编译日期/时间戳?及同类版本获取问题

Install4j 运行时信息获取常见问题解答

1. 如何在运行时获取当前正在执行的启动器的编译日期/时间戳

这个需求其实挺常见的,install4j早就为我们准备了内置的编译变量,直接通过API就能拿到这个时间戳。具体实现代码如下:

import com.install4j.api.launcher.Variables;
import java.util.Date;

public class LauncherCompileTime {
    public static void main(String[] args) {
        // 获取编译时生成的毫秒级时间戳字符串
        String timestampStr = Variables.getCompilerVariable("compilerTimestamp");
        
        if (timestampStr != null) {
            try {
                long compileTimestamp = Long.parseLong(timestampStr);
                Date compileDate = new Date(compileTimestamp);
                System.out.println("当前启动器的编译时间:" + compileDate);
            } catch (NumberFormatException e) {
                System.err.println("解析编译时间戳失败:" + e.getMessage());
            }
        } else {
            System.err.println("无法获取编译时间戳,请确认当前程序是通过install4j生成的启动器");
        }
    }
}

这里要注意,compilerTimestamp是install4j在编译启动器时自动注入的变量,只有install4j打包的启动器才能读取到值。返回的是Unix毫秒时间戳,你可以根据需求转换成任意日期格式。

2. 如何在运行时获取应用的完整版本信息(含构建编号)

和获取版本的需求同类,我们通常还需要拿到包含构建编号的完整版本标识,同样可以借助install4j的API轻松实现:

import com.install4j.api.launcher.ApplicationInfo;

public class AppVersionGetter {
    public static void main(String[] args) {
        // 获取基础版本号(如"2.1.0")
        String baseVersion = ApplicationInfo.getVersion();
        System.out.println("应用基础版本号:" + baseVersion);

        // 获取构建编号(需在install4j项目配置中设置过构建编号才会返回有效值)
        String buildNumber = ApplicationInfo.getBuildNumber();
        if (buildNumber != null && !buildNumber.isEmpty()) {
            System.out.println("应用构建编号:" + buildNumber);
        }

        // 获取完整版本标识(格式为"版本号-b构建编号",若有构建编号则显示)
        String fullVersion = ApplicationInfo.getFullVersion();
        System.out.println("应用完整版本:" + fullVersion);

        // 额外:获取打包该启动器的install4j版本
        String install4jVersion = ApplicationInfo.getInstall4jVersion();
        System.out.println("打包使用的install4j版本:" + install4jVersion);
    }
}

需要提醒的是,使用这些API时,你的项目需要依赖install4j的API库(路径通常是install4j安装目录下的lib/install4j-api.jar),不过打包时install4j会自动处理这个依赖,不用手动把这个jar包打进应用里。


内容的提问来源于stack exchange,提问作者Reto Höhener

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 12:13:14