This chapter provides an overview of new and changed deployment features in JDK 8.
The following sections describe the improvements and the release in which they were introduced.
For information on JDK 7, see Chapter 31, "Java Rich Internet Applications Enhancements in JDK 7."
The 8u20 release includes the following enhancements related to deployment:
The JavaFX Packager tool is renamed to Java Packager and is run with the javapackager
command. Support for self-contained applications is expanded to enable arguments to be passed to the bundlers that are used to generate the native installable packages. See Chapter 7, "Self-Contained Application Packaging."
The Medium security level has been removed. Only High and Very High are supported. See Section 18.4.1, "Security Level."
For enterprise customers who use the Deployment Rule Set, the attribute force
is available for the action
element. When this attribute is set to true
, the JRE version requested by any RIA that matches the rule is overridden and the RIA is run with the version of the JRE that is specified in the rule. See Chapter 26, "Deployment Rule Set."
The 8u11 release includes the following enhancements related to deployment:
An option to suppress offers from sponsors when the JRE is installed or updated is available in the Advanced tab of the Java Control Panel. See Section 18.5.12, "Miscellaneous" for information.
The Entry-Point attribute can be included in the JAR file manifest to identify one or more classes as a valid entry point for your RIA. See Section 24.6, "Entry-Point Attribute" for information.
The 8u5 release includes the following enhancements related to deployment:
The frequency in which the security prompts are shown for an application has been reduced.
The JDK 8 release includes the following enhancements related to deployment:
For sandbox Rich Internet Applications (RIAs), URLPermission
is now used to allow connections back to the server from which they were started. URLPermissions
is granted based on protocol, host, and port of the code source. This change has the following implications:
For sandbox RIAs, SocketPermissions
for the origin host is no longer granted. Calls from JavaScript code to the RIA are not granted SocketPermissions
.
Sandbox RIAs that are loaded from a server using the HTTP protocol are not allowed to connect back to the server using the HTTPS protocol.
Sandbox RIAs loaded from a server on a specific port using either the HTTP or HTTPS protocol are not allowed to connect back to a different port on the server. For example, if the RIA is started from https://www.example.com:80
, then the RIA is not allowed to connect back to https://www.example.com:8888
.
Sandbox RIAs loaded from a server using either the HTTP or HTTPS protocol and a domain name are not allowed to connect back to the server using an IP address. For example, if the RIA is started from https://www.example.com:8080
, then the RIA is not allowed to connect back to https://192.0.2.1:8080
.
Privileged RIAs loaded from a server using the HTTP protocol do not accept calls from JavaScript code using the HTTPS protocol. To make calls to your RIA from JavaScript code using HTTPS, you must load your RIA using HTTPS.
The Permissions
attribute is now required in the JAR file manifest for the main JAR file of all RIAs at all security levels. See Chapter 24, "JAR File Manifest Attributes for Security" for information on the Permissions
attribute.
The Java class file format has been updated because of JSR 292, Java Virtual Machine Support for Non-Java Languages. Consequently, the Pack200 engine has been updated accordingly to ensure that Java SE 8 class files are compressed effectively. In particular, the Pack200 engine now recognizes constant pool entries and new bytecodes introduced by JSR 292.
As a result, compressed files created with this version of pack200 will not be compatible with older versions of unpack200.
In general, if a compressed file contains Java SE 8 or Java SE 7 class files, then it will not be compatible with older unpackers. (For example, if a compressed file contains Java SE 7 class files, then it will not be compatible with unpackers from Java SE 6 or earlier.)
See Section 28.7, "Deploying JAR Files Compressed with Pack200" and RFE 6981776.
The old Java Plug-in (the version available prior to Java SE 6 Update 10) has been removed from this release. See RFE 7076143.