编译日期和时间
Java 是否有与 C & 等效的 Java? C++ 编译时常量 __DATE__ 和 __TIME__。我需要打印正在编译的程序的编译时间和版本信息。
感谢
kodev19
Is there a Java equivalent to the C & C++ compile-time constants __DATE__ and __TIME__. I need to print compile time and version info of the program being compiled.
Thanks
kodev19
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
据我所知,没有这样的事情。
但是在运行的 JVM 上,您可以使用类似下面的代码直接从 jar 中获取一些信息(这里,信息来自编译时放入 jar 中的 Manifest 文件(无论您的构建系统是 Ant 还是 Maven)或其他)。随意调整它(不同的输出,等等)。
一旦使用,就会输出类似的内容(此处为 2008 年 3 月 15 日 20:43 编译的 commons-lang-2.4.jar 中提供的 StringUtils.class)。 ):
As far as i know, there is nothing like that.
But on a running JVM you can get a few informations straight away from the jar using something like the code below (here, the information comes from the Manifest file put in the jar at compilation time (which ever your build system is, Ant or Maven or anything else). Feel free to adapte it (different output, and so on).
will output once used something like (here for the StringUtils.class available in the commons-lang-2.4.jar compiled on 15 march 2008 20:43) :
Ant TStamp 任务在这里有用。它将在构建期间创建一个时间戳以插入属性文件或代码中。
我倾向于使用它来构建一个包含构建时间和日期、用户和主机、版本号等的属性文件,然后我的应用程序读取该属性文件并记录相关信息(我通常不在这样的环境中)担心人们会摆弄这些信息)。
The Ant TStamp task is of use here. It'll create a timestamp during build time for insertion into properties files or code.
I tend to use this to build a properties file containing build times and dates, the user and host, a version number etc. and then my application reads that properties file and logs the related info (I'm not normally in an environment where I'd worry about people fiddling with this info).
不能直接在代码中,不,但您可以使用 Ant 来执行此操作。
请参阅此页面上的“wombat”示例。
Not directly in the code, no, but you can use Ant to do this.
See the "wombat" examples on this page.