我正在研究一个目前只能用java 1.4编译的大型遗留代码库.我需要做的一件事就是让它与1.6一起使用(现在可能是1.7).
头部版本目前不用1.6编译.这有很多原因 – 大多数都很容易修复,比如使用enum作为关键字,但我们正在努力使用Oracle / Sun更新JDBC(连接接口)以支持java 1.4中不可用的类型.这意味着如果我使用1.6进行更改,主要的生产构建会像NClob这样的类中断,因为它们不在1.4版本中;如果我不进行更改,我无法使用1.6编译器进行编译.
是否有任何模式支持java中的条件编译/构建?到目前为止,我唯一的计划就是根据构建来调整ant构建以有条件地交换进/出类.这感觉非常可怕,因此在这里向社区征求意见.
同样,问题的边界是:
>需要能够继续在1.4上编译HEAD(我担心没有1.6兼容1.4模式)
>还需要一个单独的头部构建,用1.6编译 – 假设这需要一些时间(因为它是一个大的代码库),因此第一个要点是允许其他人继续工作并在我们准备头部时提供其他更改构建1.6兼容性.
>这是一个巨大的代码树;这意味着我们的代码都不是库依赖,我们不能轻易做到(请记住:遗留代码库:()
>我们不允许分支(因为除非我真的需要,否则我不会进入)
提前谢谢了.