V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
a33291
V2EX  ›  问与答

貌似没有简单的方法知道 maven 上的包兼容哪些 jdk?

  •  
  •   a33291 · 6 天前 · 533 次点击
    在官网页面上没找到包列出的 jdk 依赖关系之类的信息
    网上说的是查看 MANIFEST.MF 文件,这极其繁琐且不可靠(要先下载 jar 然后再看里边内容)


    是否有简单直接的方式知道一个 package 的 jdk 兼容性?
    4 条回复    2024-12-21 15:09:41 +08:00
    dcsuibian
        1
    dcsuibian  
       6 天前   ❤️ 1
    作为一个 Javaer ,其实没怎么想过这个问题。Java 在向后兼容方面做的比较好。某些脚本语言在这点上就做得相当垃圾。( Node.js 和 Python )

    Java versions are expected to be binary backwards-compatible. For example, JDK 8 can run code compiled by JDK 7 or JDK 6. It is common to see applications leverage this backwards compatibility by using components built by different Java version.
    所以如果我是个类库的作者,我会在编写 Java 库时尽量用低的版本。比如做的挺好的 Netty 4 就支持 Java 6 。

    而作为使用者,只要你使用 8 以上,你就可以尽量用新的类库版本。

    而且吧,Java 需要编译,如果接口变了或没了,那你直接编译就通不过。所以你很快就知道能不能用。如果不能用,那降个大版本基本也就能用了。


    不过实际并没有那么完美,比如 nashron 引擎就被移除了。javax 的现在要注意下改成 jakarta ,万恶的 Oracle 。
    a33291
        2
    a33291  
    OP
       6 天前
    @dcsuibian 有个项目锁死在 jdk8,然后添加一个依赖的话根本不知道用哪个版本,用高版本会失败,如果能提前知道兼容性就没这么繁琐了
    mxalbert1996
        3
    mxalbert1996  
       6 天前 via Android   ❤️ 1
    a33291
        4
    a33291  
    OP
       6 天前
    @mxalbert1996 感谢,貌似比较吃资源

    希望 maven 和 nuget 一样可以直接列出框架依赖就好了,毕竟只需要上传时处理一次就行🤣
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2737 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 12:27 · PVG 20:27 · LAX 04:27 · JFK 07:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.