我们目前正在评估如何在每个项目的基础上专门化公共代码库的方法。将其视为一个完全可操作的系统,可以适应项目的要求。这些要求可能是添加其他功能或数据,或者完全或部分替换系统的各个部分。
我们正在考虑几个选项,例如继承,策略模式,插件等,但也有一些选项,如以AOP方式替换/增强功能。
由于我们已经在考虑解决这个问题的不同方法,因此这个问题的目标不是要解决这些问题,而是一个问题:
有没有人知道一个预处理器(免费或商业),它允许我们在编译期间替换功能(类或方法的类的部分)?它与编译时编织的AOP类似,因为它不会包装/增强代码,但实际上会替换有问题的代码。
是否有这样的事情或者风险太大/太复杂?
我知道有更好的方法,我们正在考虑所有方法,所以我想知道这种方法是否值得进一步考虑。
欢迎其他建议,但不应导致完全不同的讨论。 :)
答案 0 :(得分:1)
Maven可以做到这一点。请阅读> Full search and replace of strings in source files when copying resources
简短:您可以使用解析任务或https://code.google.com/p/maven-replacer-plugin/