cwz_茶仔 2019-04-23 18:11 采纳率: 50%
浏览 674
已采纳

Gradle构建的JavsWeb应用,如何在代码中获取build.gradle的version

如题。需求要求在登录页面显示web项目的版本号。

百度了很久没找到类似的问题,所以就来提问了~

build.gradle里面

group = 'Tomcat_Server'
version = '0.6.0-Debug'

sourceCompatibility = 1.8

想要在java代码(Controller层)中获取到“0.6.0-Debug”这个东西

  • 写回答

1条回答 默认 最新

  • 起个名特麻烦 2020-08-27 17:33
    关注

    最近我也想获取gradle里的version,思路来自里面注释的第二个连接,我将版本号生成到配置文件,java在读取配置文件就能每次打包程序都能获取最新版本信息

    task('addVersion') {
        //https://my.oschina.net/lifj/blog/749345
        //https://stackoverflow.com/questions/51669358/get-value-from-build-gradle-to-code
        doLast {
            println("task addVersion")
            println("task ${version}")
            def myV = "${version}"
            //append the version here, see example
            //file("src/main/resources/application-build.properties").append("\nversion=jhd\n")
            //file("src/main/resources/application-build.properties").
            def filePath = 'src/main/resources/application-build.properties';
            Properties props = new Properties();
            props.load(new FileInputStream(file(filePath)))
            // props.put("buildtime", new Date().format("dd MMM yyyy hh:mm aa"))
            props.put("build.datetime", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm")))
            //这里有个小问题,使用${}引用的变量是GStringImpl 不能传参给方法会出错,转成toString
            props.put("build.version", myV.toString())
            OutputStream out = new FileOutputStream(filePath)
            def comments = '#jhd auto make build info'
            //props.store(out, comments)
            props.store(new OutputStreamWriter(out, "utf-8"), comments)//解决乱码
        }
    }
    bootJar.dependsOn(addVersion)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站