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

Upgrading Java version on a desktop application

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

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

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

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

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

JDK 1.6 | Code Name : Mustang | Year : 2006

  1. Scripting Language Support
  2. JDBC 4.0 support
  3. Java Compiler API
  4. Pluggable Annotations
  5. Native PKI, Java GSS, Kerberos and LDAP support
  6. Integrated Web Services
  7. Light weight

JDK 1.7 | Code Name : Dolphin | Year : 2011

  1. Automated Resource Management
  2. Timsort is used to sort collections and arrays of objects instead of merge sort
  3. Multiple exceptions handling in single catch block
  4. String in switch
  5. JDBC 4.1 support
  6. JVM Enhancements(invokedynamic instructions)
  7. Automatic Type Inference during the Generic Instance Creation(using diamond operator)
  8. Numeric literals with underscore
  9. Fork and Join Framework
  10. G1 Garbage Collector

JDK 1.8 | Code Name : Spider | Year : 2014

  1. Lambda Expression
  2. Streams
  3. Functional Interface
  4. Nashorn
  5. Performance Improvement for HashMaps with Key Collisions
  6. Parallel Array Sorting
  7. Stringjoiner class
  8. Optional Class
  9. Remove permanent generation
  10. Annotation on Java Types

Java 向后兼容,因此您不必担心升级到 Java 8 runtime

时代码会被破坏

根据基础架构的变化,您必须将 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>