我有一个当前使用Java 6的Java桌面应用程序。该应用程序使用Java Web Start和JNLP以及安装程序进行部署。此外,该应用程序是一个基于Maven的项目。
我想升级到Java 8,我想知道这种改变对基础架构的影响是什么? (我以为我必须在安装程序中更改Java版本,并为当前用户部署更新)。
P.S。该应用程序适用于Windows,Linux和Mac OS X
答案 0 :(得分:2)
Java是向后兼容的,因此您在升级到Java 8运行时
时不必担心代码被破坏根据基础架构更改,您必须将pom.xml配置标记更改为
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
并在您的构建路径中将目标运行时更改为IDE中的已安装JDK 8版本,并且在您的jnlp文件中,您必须将j2se版本更改为
喜欢这样
<resources>
<!-- Application Resources -->
<j2se version="1.8+"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="<your signed app jar>"
main="true" />
</resources>
答案 1 :(得分:0)
自2006年发布hava 6以来,Java 6和Java 8可能会发生很多冲突。但这取决于你的逻辑代码的样子。在IDE IntelliJ中,可以使用Java 8并将其配置为与Java 6兼容。如果您已准备好将Java 6更新为Java 8,则还需要准备重构代码。
JDK在下面发布了详细信息。
JDK 1.6 |代号:野马|年份:2006
- 脚本语言支持
- JDBC 4.0支持
- Java编译器API
- 可插入注释
- 原生PKI,Java GSS,Kerberos和LDAP支持
- 综合网络服务
- 重量轻
醇>JDK 1.7 |代号:Dolphin |年份:2011
- 自动资源管理
- Timsort用于对集合和对象数组进行排序,而不是合并排序
- 单个catch块中的多个异常处理
- 交换机中的字符串
- JDBC 4.1支持
- JVM增强功能(invokedynamic指令)
- 通用实例创建期间的自动类型推断(使用菱形运算符)
- 带下划线的数字文字
- 分叉和加入框架
- G1垃圾收集器
醇>JDK 1.8 |代号:蜘蛛|年份:2014
- Lambda Expression
- 流
- 功能界面
- 犀牛
- 关键冲突的HashMaps性能改进
- 并行数组排序
- Stringjoiner类
- 可选班级
- 删除永久代
- Java类型的注释
醇>