java – 在ant构建期间进行代码修改的最佳实践
承认,这听起来并不是最佳做法,但让我解释一下.在构建期间,我们需要将构建号和系统版本粘贴到一个类中,该类的唯一目的是包含这些值并使它们可访问.
我们的第一个想法是使用系统属性,但由于部署环境的波动性(另一种说法是“系统管理员正在做奇怪的邪恶的令人毛骨悚然的东西”),我们希望对它们进行硬编码. 基本上我看到了在蚂蚁中实现它的4种可能性: >使用< replace>在班上的一个令牌上 这种方法的问题是文件被更改,所以你必须在编译后用< replaceregexp>替换令牌…… sooo丑陋,我不想用正则表达式来触摸源代码.加上时间依赖性. 一个人必须记住序列 – 必须先编译原始类才能被副本覆盖.时间依赖性也很难看. 除非嵌入在编译目标中,否则相同的时间依赖性问这也是丑陋的,因为我们所有的构建文件都使用相同的导入编译目标. 由于没有时间依赖性,因此对前三个进行了改进,但编译器/ IDE非常不满意,因为它忽略了类.红色标记令人不安地丑陋. 您对替代方案有何看法? 对此有什么最佳做法吗? 我当然希望我错过了一个完美的方法. 谢谢 编辑 解决方法
我认为更简单的方法是让您的Version.java类从JAR中包含的简单.properties文件中读取,并在Ant构建中的构建时生成此.properties文件.例如,只需生成:
build.number = 142 build.timestamp = 5/12/2011 12:31 built-in (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |