V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pocketz
V2EX  ›  Java

log4j 源码编译时我遇到的问题及其解决办法

  •  
  •   pocketz · 2021-12-10 20:02:28 +08:00 · 1665 次点击
    这是一个创建于 866 天前的主题,其中的信息可能已经有所发展或是发生改变。

    log4j-api 和 log4j-core 我都编译成功了,其他模块没有试过

    **本贴针对官方在 GitHub 发布的 2.15.0-rc2

    环境配置

    • 编译器不要使用高版本的 JDK ,环境变量要使用 JDK8
    • JDK8 之外,也要安装有一个版本号大于或等于 9 的 JDK
    • 以上两个 JDK 的路径,可以配置在源码包中的 toolchains-sample-xxx.xml 文件中,也不排除有其他合理的配置方法

    编译步骤

    • 不要图省事直接在顶层目录下使用 mvn package 进行编译,以 log4j-api 为例。如果直接编译 log4j-api ,会提示远程仓库中不存在 log4j-api-java9 。需要先进入 log4j-api-java9 目录,使用 mvn install -t ..\toolchains-sample-win.xml 将 log4j-api-java9 安装到本地仓库中才能正常编译 log4j-api

    目前我就遇到这些问题,至于编译出来的 jar 能不能用,我只能说我还没去正式环境里尝试

    3 条回复    2021-12-13 18:10:17 +08:00
    fighterhit
        1
    fighterhit  
       2021-12-11 21:31:17 +08:00
    为啥不能直接在顶层目录下使用 mvn package 进行编译呢?我是在 rc2 目录下 mvn package 打包所有模块的好像都可以编译出来
    pocketz
        2
    pocketz  
    OP
       2021-12-13 18:06:51 +08:00 via Android
    @fighterhit 因为我这边只涉及 log4j-api 的 jar 包
    fighterhit
        3
    fighterhit  
       2021-12-13 18:10:17 +08:00
    @pocketz 其实很奇怪为啥有的 project 是依赖 log4j-api 这个包但没依赖 log4j-core ,难道是那些日志包觉得 log4j 接口设计得不错就复用了 log4j 的接口,然后自己再重新实现一遍?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5392 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 136ms · UTC 07:26 · PVG 15:26 · LAX 00:26 · JFK 03:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.