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

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


是否有简单直接的方式知道一个 package 的 jdk 兼容性?
883 次点击
所在节点   问与答  问与答
4 条回复
dcsuibian
dcsuibian
59 天前
作为一个 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
a33291
58 天前
@dcsuibian 有个项目锁死在 jdk8,然后添加一个依赖的话根本不知道用哪个版本,用高版本会失败,如果能提前知道兼容性就没这么繁琐了
mxalbert1996
mxalbert1996
58 天前
a33291
a33291
58 天前
@mxalbert1996 感谢,貌似比较吃资源

希望 maven 和 nuget 一样可以直接列出框架依赖就好了,毕竟只需要上传时处理一次就行🤣

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1099184

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX