【发布时间】:2021-07-15 04:38:37
【问题描述】:
我有一个适用于 Windows 的 Java 应用程序。我希望该 Java 应用程序在运行时在磁盘上创建一个新文件,其文件名包含版本号。当我的 Azure Dev Ops (ADO) 管道正在构建 Java 应用程序时,该版本号可用作操作系统环境变量。 ADO 管道使用 CMake(运行 javac 命令)构建我的代码。
当使用 Maven 作为构建系统时,一个解决方案是 given here。我在不使用 Maven 和 pom.xml 的构建系统中找不到如何做同样的事情。使用 javac 命令行时有没有办法做同样的事情?
谢谢,
达伦
【问题讨论】:
-
ADO 可以使用 Maven 构建。 Visual Studio 支持 Maven。为什么要使用很少有项目会使用的平台特定工具?
-
CMake 在许多平台上运行,这就是我们在 ADO 管道中使用它的原因。此 Java 代码适用于 Linux、Android、iOS 和 Windows。但是,我想要进行的更改(上面讨论过)仅适用于此代码的 Widnows 版本。
-
访问 Windows 操作系统环境变量?
-
基本上你必须在编译时捕获变量的值。我对您的构建系统一无所知,但我建议将版本号写入文件,然后将文件作为资源包含在 jar 中,然后在运行 jar 时可用。
-
@Darren - 我并不是说它不起作用。一个汇编语言程序会付出足够的努力。但是如果你在 Java 世界中,CMAKE 不是普通的构建工具之一。逆流而上有时是有用的,但有很多很多构建工具,我只是鼓励使用在 Java 世界中更标准的东西。
标签: java environment-variables javac