【问题标题】:Upgrading Java version on a desktop application在桌面应用程序上升级 Java 版本
【发布时间】:2017-08-08 11:19:08
【问题描述】:

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

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

附:该应用程序适用于 Windows、Linux 和 Mac OS X

【问题讨论】:

  • 如果您显示(相关部分)您的 jnlp 文件,您可能会获得更具体的帮助,以便人们可以看到例如如果它绑定到特定的 java 版本

标签: java java-web-start jnlp


【解决方案1】:

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>

【讨论】:

    【解决方案2】:

    自2006年发布hava 6以来,Java 6和Java 8可能会有很多冲突。但这取决于您的逻辑代码它的样子。在 IDE IntelliJ 中可以使用 Java 8 并将其配置为与 Java 6 兼容。如果您准备好将 Java 6 更新到 Java 8,您还需要准备重构代码。

    JDK在下面发布了详细信息。

    JDK 1.6 |代号:野马 |年份 : 2006

    1. 脚本语言支持
    2. JDBC 4.0 支持
    3. Java 编译器 API
    4. 可插入注释
    5. 原生 PKI、Java GSS、Kerberos 和 LDAP 支持
    6. 集成网络服务
    7. 重量轻

    JDK 1.7 |代号:海豚 |年份 : 2011

    1. 自动化资源管理
    2. Timsort 用于对对象的集合和数组进行排序,而不是归并排序
    3. 在单个 catch 块中处理多个异常
    4. 开关中的字符串
    5. JDBC 4.1 支持
    6. JVM 增强功能(调用动态指令)
    7. 通用实例创建期间的自动类型推断(使用菱形运算符)
    8. 带下划线的数字文字
    9. 分叉和连接框架
    10. G1 垃圾收集器

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

    1. Lambda 表达式
    2. 功能界面
    3. 纳舒恩
    4. 具有键冲突的 HashMap 的性能改进
    5. 并行数组排序
    6. Stringjoiner 类
    7. 可选类
    8. 删除永久代
    9. Java 类型注释

    【讨论】:

      猜你喜欢
      • 2018-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-11
      • 1970-01-01
      • 1970-01-01
      • 2018-06-07
      相关资源
      最近更新 更多