我们继承了一个ant构建文件,但现在需要部署到32位和64位系统.
非Java位是用GNUMakefiles完成的,我们只需要调用"uname"来获取信息.是否有类似甚至更简单的方法来模仿蚂蚁?
晚到了派对,但到底是什么......
$ {os.arch}仅告诉您JVM是否为32/64位.您可能正在64位操作系统上运行32位JVM.试试这个:
OS bitness: ${os.bitness}
编辑: 正如@GreenieMeanie所指出的,这需要来自ant-contrib.sourceforge.net的ant-contrib库.
你可以使用$ {os.arch}从ant 获取java系统属性(http://java.sun.com/javase/6/docs/api/java/lang/System.html#getProperties()).其他感兴趣的属性可能是os.name,os.version,sun.cpu.endian和sun.arch.data.model.
这是一个有效的答案(我在Kubuntu 64,Debian 32,Windows 2000和Windows XP上测试过),而不需要外部或可选的ANT依赖.它基于@ phatypus的回答.
Register size: ${register-size} OS Family: ${os-family}