在桌面应用程序上升级Java版本

时间:2017-08-08 11:19:08

标签: java java-web-start jnlp

我有一个当前使用Java 6的Java桌面应用程序。该应用程序使用Java Web Start和JNLP以及安装程序进行部署。此外,该应用程序是一个基于Maven的项目。

我想升级到Java 8,我想知道这种改变对基础架构的影响是什么? (我以为我必须在安装程序中更改Java版本,并为当前用户部署更新)。

P.S。该应用程序适用于Windows,Linux和Mac OS X

2 个答案:

答案 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

     
      
  1. 脚本语言支持
  2.   
  3. JDBC 4.0支持
  4.   
  5. Java编译器API
  6.   
  7. 可插入注释
  8.   
  9. 原生PKI,Java GSS,Kerberos和LDAP支持
  10.   
  11. 综合网络服务
  12.   
  13. 重量轻
  14.         

    JDK 1.7 |代号:Dolphin |年份:2011

         
        
    1. 自动资源管理
    2.   
    3. Timsort用于对集合和对象数组进行排序,而不是合并排序
    4.   
    5. 单个catch块中的多个异常处理
    6.   
    7. 交换机中的字符串
    8.   
    9. JDBC 4.1支持
    10.   
    11. JVM增强功能(invokedynamic指令)
    12.   
    13. 通用实例创建期间的自动类型推断(使用菱形运算符)
    14.   
    15. 带下划线的数字文字
    16.   
    17. 分叉和加入框架
    18.   
    19. G1垃圾收集器
    20.         

      JDK 1.8 |代号:蜘蛛|年份:2014

           
          
      1. Lambda Expression
      2.   
      3.   
      4. 功能界面
      5.   
      6. 犀牛
      7.   
      8. 关键冲突的HashMaps性能改进
      9.   
      10. 并行数组排序
      11.   
      12. Stringjoiner类
      13.   
      14. 可选班级
      15.   
      16. 删除永久代
      17.   
      18. Java类型的注释
      19.