Java 项目生产环境稳定运行在 JDK 1.6,直接升级为 1.7 有坑吗?

2015-07-22 16:26:18 +08:00
 andybest
目前开发/生产环境都是 1.6 的,那么直接把生产环境更换为 1.7 是否会遇到什么坑?
11403 次点击
所在节点    问与答
17 条回复
tobyxdd
2015-07-22 16:37:25 +08:00
java都是向下兼容的 放心直接跑
andybest
2015-07-22 16:46:18 +08:00
@tobyxdd 谢谢,所以我直接升级到目前最新版本的 JDK 8 也是 ok 的吗?
tobyxdd
2015-07-22 16:48:20 +08:00
@andybest 没道理不行
honeycomb
2015-07-22 16:59:33 +08:00
可能会有坑(因为总是会有一些API在java 1.7/1.8不用了),但概率不高
binjoo
2015-07-22 17:05:10 +08:00
公司的开发环境用的是1.5,直接切换到1.6会出现编译错误,所以开发环境一直是用的1.5。
但是在生产环境是用的1.7,并不会出现运行错误。。
tobyxdd
2015-07-22 17:08:32 +08:00
@honeycomb 用的都是正常公开API至少6to7出问题概率几乎为0..最多有些deprecated了但依然能用
learnshare
2015-07-22 17:09:13 +08:00
跑跑看
andybest
2015-07-22 17:11:36 +08:00
@honeycomb 谢谢,有没个例子?好像理论上没有任何 API 是高版本不兼容低版本的
honeycomb
2015-07-22 17:43:29 +08:00
@andybest

JDK7-->JDK8

com.sun.javafx.css.StyleManager.getPseudoclassMask
它在JDK7还能用(但已经标为@depreciated),JDK8就没有了

但是这种情况应该很少见

再说回来
比方说编译Android的时候只能使用JDK7(从4.?到5.1,再老的版本必须用JDK6),用8的话可能编译不了
但是编译Android应用的时候无论JDK7、8(compliance level设置成1.7)应该都不会出问题
或许是因为Android用到的Java API只是一部分
caixiexin
2015-07-22 17:55:06 +08:00
如果没用到什么偏门的非正式api(类似 sun.misc.BASE64Encoder )的话,应该没问题
wwqgtxx
2015-07-22 20:11:56 +08:00
远离
sun.xxx
com.sun.xxx
这两个包就不会有任何问题
kaneg
2015-07-22 20:40:52 +08:00
只要你对代码有控制权,放心升级,Java向下兼容的口碑还是相当好的
zhangwei
2015-07-22 21:21:40 +08:00
1.5直升1.8,无缝升级,舒心~
guoyang
2015-07-22 23:00:12 +08:00
这问题没意思啊,测试啊,即使告诉你可以,你敢不测就放出去吗?
xi_lin
2015-07-22 23:23:23 +08:00
@wwqgtxx re,不要碰私有实现
nino789pzw
2015-07-22 23:36:41 +08:00
你引用的如果没有指定只能用在JDK6的话应该就是没问题的
zoowii
2015-07-22 23:55:00 +08:00
可能有坑,跑测试吧

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

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

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

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

© 2021 V2EX