从log4j v1迁移至log4j v2的编译版本适配问题咨询
Log4j 2.3.2 迁移适配问题解答
1. 应用编译版本兼容情况
- 可以编译为J2SE 1.6:Log4j 2.3.2是官方明确适配Java 6的版本,完全兼容以Java 6为目标的编译输出。
- 绝对不能编译为J2SE 1.4:Log4j 2.x全系列最低要求Java 6,2.3.2的代码依赖Java 6专属API(如部分并发类、新集合方法等),编译成1.4字节码时会直接出现符号引用错误,即便强行编译成功,在Java 1.4环境下也无法正常运行。
2. Log4j 1.2桥接方式的版本要求
Log4j 1.2桥接器(对应组件log4j-1.2-api)的版本必须与Log4j 2核心版本保持一致,即使用2.3.2版本的桥接器。该桥接器同样要求运行环境为Java 6,因此你的应用编译版本最高只能设置为1.6(符合你的升级上限)。桥接器可让原有log4j 1.2的调用代码无需修改即可路由到Log4j 2的实现,但整个应用的编译和运行必须基于Java 6环境,无法兼容Java 1.4。
内容的提问来源于stack exchange,提问作者xttx
相关产品推荐
相关产品推荐

