Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Java 9 Multirelease JAR: Aproveitando Versões de Classe Específicas de Plataforma

No Java 9, um novo recurso aprimora o formato JAR para que diferentes versões de classes ou recursos Java possam ser mantidas e usadas conforme a plataforma. No JAR, o arquivo MANIFEST.MF tem uma entrada Multi-Release: true em sua seção principal. O diretório META-INF também contém um subdiretório versions cujos subdiretórios (começando com 9 para Java 9) armazenam classes e arquivos de recursos específicos de versão.

Neste exemplo, usaremos um multirelease jar para ter duas versões de Tester.java, uma para JDK 7 e outra para JDK 9, e executá-lo em diferentes versões do JDK.

Passos

Passo 1 - Crie uma pasta c:/test/java7/com/tutorialspoint. Crie Tester.java com o seguinte conteúdo:

package com.tutorialspoint;
public class Tester {
    public static void main(String[] args) {
        System.out.println("Inside java 7");
    }
}

Passo 2 - Crie uma pasta c:/test/java9/com/tutorialspoint. Crie Tester.java com o seguinte conteúdo:

package com.tutorialspoint;
public class Tester {
    public static void main(String[] args) {
        System.out.println("Inside java 9");
    }
}

Compile os códigos-fonte:

C:\test > javac --release 9 java9/com/tutorialspoint/Tester.java
C:\JAVA > javac --release 7 java7/com/tutorialspoint/Tester.java

Crie o multirelease jar:

C:\JAVA > jar -c -f test.jar -C java7 . --release 9 -C java9 .
Warning: entry META-INF/versions/9/com/tutorialspoint/Tester.java, multiple resources with same name

Execute com JDK 7:

C:\JAVA > java -cp test.jar com.tutorialspoint.Tester
Inside Java 7

Execute com JDK 9:

C:\JAVA > java -cp test.jar com.tutorialspoint.Tester
Inside Java 9

O JAR multirelease permite distribuir uma única biblioteca que se adapta automaticamente à versão do Java em execução.

Java

  1. Dominando Operadores Java: Tipos, Sintaxe e Exemplos Práticos
  2. Comentários em Java: Tipos, Uso e Boas Práticas
  3. Dominando o Loop for Aprimorado em Java: Sintaxe, Exemplos e Boas Práticas
  4. Dominando Strings em Java: Criação, Métodos e Boas Práticas
  5. Dominando Interfaces em Java: Conceitos, Implementação e Boas Práticas
  6. Dominando Classes Internas Anônimas em Java: Definição, Sintaxe e Exemplos Práticos
  7. Dominando Try-With-Resources em Java: Gerenciamento Automático de Recursos Explicado
  8. Anotações em Java Explicadas: Tipos, Posicionamento e Exemplos Práticos
  9. Asserções em Java: Guia Prático para Detectar Bugs e Garantir Confiabilidade do Código
  10. Entendendo o Java Vector: Uso, Recursos e Comparação com ArrayList