Download RT.JAR, o arquivo JAR com as classes básicas da plataforma Java
- newsvicogisisi
- Aug 26, 2023
- 6 min read
O que é rt.jar e por que é importante?
Se você for um desenvolvedor ou usuário Java, pode ter encontrado um arquivo chamado rt.jar em seu diretório de instalação Java. Este arquivo é um dos componentes mais essenciais do Java Runtime Environment (JRE), pois contém todos os arquivos de classe compilados para o núcleo da API Java. Neste artigo, explicaremos o que é rt.jar, onde encontrá-lo, como ele mudou nas diferentes versões do Java e como baixá-lo, se necessário.
download rt.jar
O significado e a função de rt.jar
O nome rt.jar significa runtime JAR, o que indica que é um arquivo Java que armazena as classes necessárias para a execução de aplicativos Java. Inclui todas as classes de java.lang, java.util, java.io, java.net, java.awt, javax.swing e muitos outros pacotes que fornecem a funcionalidade básica de Java. Sem o rt.jar, você não seria capaz de usar nenhuma dessas classes em seu código ou executar qualquer programa Java.
rt.jar é carregado pelo carregador de classes bootstrap, que é o primeiro carregador de classes chamado pela Java Virtual Machine (JVM) quando ela é iniciada. O carregador de classe bootstrap é responsável por carregar as classes principais que são confiáveis para a JVM e não requerem nenhuma verificação de segurança. As classes em rt.jar também são conhecidas como classes bootstrap ou classes de sistema.
A localização e o tamanho de rt.jar
Nos sistemas operacionais Windows e Linux, rt.jar geralmente está localizado em $JAVA_HOME/jre/lib, em que $JAVA_HOME refere-se ao diretório de instalação do JDK ou JRE. Por exemplo, se você instalou o JDK 8 em C:\Arquivos de Programas\Java\jdk1.8.0_271, poderá encontrar rt.jar em C:\Arquivos de Programas\Java\jdk1.8.0_271\jre\lib.
Nos sistemas operacionais MacOS, antes do JDK 7, rt.jar era chamado de classes.jar e estava localizado em /System/Library/Frameworks//Aulas.Por exemplo, se você instalou o JDK 6 em /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0, poderá encontrar classes.jar em /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes. No entanto, desde o JDK 7, a Oracle assumiu a distribuição do Java para MacOS e adotou o mesmo nome e localização do Windows e do Linux.
O tamanho do rt.jar varia dependendo da versão e plataforma do Java. Por exemplo, no JDK 8 para Windows x64, rt.jar tem cerca de 63 MB de tamanho, enquanto no JDK 6 para Windows x64 tem cerca de 43 MB de tamanho.
As alterações e remoção de rt.jar no Java 9 e versões posteriores
Uma das principais mudanças introduzidas no Java 9 foi a modularização da plataforma Java. Isso significa que, em vez de ter um único arquivo rt.jar monolítico que contém todas as classes principais, a plataforma Java foi dividida em módulos menores que podem ser carregados de forma independente e seletiva. Isso melhora o desempenho, a segurança, a capacidade de manutenção e a compatibilidade dos aplicativos Java.
Como resultado dessa modularização, o rt.jar foi removido do Java 9 e versões posteriores. Em vez disso, os arquivos de classe e recurso que eram armazenados anteriormente em rt.jar agora são armazenados em um formato mais eficiente em arquivos específicos de implementação no diretório lib. Por exemplo, no JDK 14 para Windows x64, há um arquivo chamado modules em C:\Program Files\Java\jdk-14\lib que contém todas as informações do módulo e dados de classe.
Isso significa que você não pode acessar ou modificar diretamente os arquivos de classe no tempo de execução como faria com rt.jar. No entanto, se você precisar acessá-los por algum motivo, poderá fazê-lo por meio de um sistema de arquivos especial Como baixar rt.jar para diferentes versões do Java?
Se você estiver procurando o arquivo rt.jar para diferentes versões do Java, poderá ter diferentes motivos e opções, dependendo da versão de que precisa. Nesta seção, explicaremos como baixar rt.jar para Java 6 e versões anteriores, Java 7 e 8 versões e Java 9 e versões posteriores.
Como baixar rt.jar para Java 6 e versões anteriores
Para Java 6 e versões anteriores, o rt.jar está incluído na instalação do Java Runtime Environment (JRE) ou do Java Development Kit (JDK). Você pode fazer download do JRE ou do JDK na página Oracle Java Archive. Depois de baixar e instalar o JRE ou o JDK, você pode encontrar o rt.jar em $JAVA_HOME/jre/lib, onde $JAVA_HOME refere-se ao diretório de instalação.
Se você precisar do código-fonte do rt.jar, poderá baixá-lo na mesma página do Oracle Java Archive, na seção "Java SE Development Kit 6u45". Você precisará aceitar o contrato de licença e baixar o arquivo chamado "jdk-6u45-fcs-src-b06-jrl-16_apr_2013.jar". Este é um arquivo JAR que contém um arquivo ZIP chamado "src.zip", que contém todos os arquivos de origem para rt.jar. Você pode extrair o arquivo ZIP e navegar pelos arquivos de origem como desejar.
Como baixar rt.jar para Java 7 e 8 versões
Para as versões Java 7 e 8, o rt.jar também está incluído no JRE ou na instalação do JDK. Você pode fazer download do JRE ou do JDK na página de downloads do Oracle Java SE. Depois de baixar e instalar o JRE ou o JDK, você pode encontrar o rt.jar em $JAVA_HOME/jre/lib, onde $JAVA_HOME refere-se ao diretório de instalação.
Se você precisar do código-fonte do rt.jar, poderá baixá-lo na mesma página de downloads do Oracle Java SE, na seção "Java SE 8u281 / 7u301". Você precisará aceitar o contrato de licença e baixar o arquivo chamado "src.zip", que contém todos os arquivos de origem do rt.jar. Você pode extrair o arquivo ZIP e navegar pelos arquivos de origem como desejar.
Como acessar os arquivos de classe no tempo de execução sem rt.jar para Java 9 e versões posteriores
Para Java 9 e versões posteriores, rt.jar não está mais disponível, conforme explicado na seção anterior. No entanto, se você precisar acessar os arquivos de classe no tempo de execução por algum motivo, poderá fazê-lo por meio de um sistema de arquivos especial chamado sistema de arquivos JRT.Esta é uma implementação de java.nio.file.FileSystemProvider que fornece uma maneira de ler a imagem de tempo de execução como se fosse parte de um sistema de arquivos. O sistema de arquivos JRT está contido em um arquivo JAR chamado jrt-fs.jar, localizado em $JAVA_HOME/lib, em que $JAVA_HOME refere-se ao diretório de instalação do JDK.
Para usar o sistema de arquivos JRT, você precisa criar um objeto FileSystem usando FileSystems.newFileSystem(URI.create("jrt:/"), Collections.emptyMap()). Isso lhe dará acesso a um diretório raiz virtual chamado /modules, que contém todos os módulos na imagem de tempo de execução. Você pode usar APIs NIO.2 padrão para percorrer e ler os arquivos de classe em cada módulo. Por exemplo, você pode usar Files.walk(Paths.get("/modules")) para listar todos os módulos e seus conteúdos.
Se precisar de mais detalhes e exemplos sobre como usar o sistema de arquivos JRT, consulte esta resposta do Stack Overflow ou esta postagem no blog.
Conclusão
Neste artigo, aprendemos o que é rt.jar, onde encontrá-lo, como ele mudou nas diferentes versões do Java e como baixá-lo, se necessário. Também aprendemos como acessar os arquivos de classe no tempo de execução sem rt.jar para Java 9 e versões posteriores usando o sistema de arquivos JRT. Esperamos que este artigo tenha sido útil e informativo para você.
perguntas frequentes
P: O que é rt.jar?
R: rt.jar significa runtime JAR, que é um arquivo Java que armazena todos os arquivos de classe compilados para o núcleo da API Java.
P: Onde está localizado o rt.jar?
R: Para Java 6 e versões anteriores e versões Java 7 e 8, rt.jar está localizado em $JAVA_HOME/jre/lib, onde $JAVA_HOME refere-se ao diretório de instalação JDK ou JRE. Para Java 9 e versões posteriores, rt.jar foi removido e substituído por um formato mais eficiente em arquivos específicos de implementação no diretório lib. Por exemplo, no JDK 14 para Windows x64, há um arquivo chamado modules em C:\Program Files\Java\jdk-14\lib que contém todas as informações do módulo e dados de classe.
P: Como baixar o rt.jar?
R: Para Java 6 e versões anteriores e versões Java 7 e 8, você pode fazer download do rt.jar baixando e instalando o JRE ou o JDK na página Oracle Java Archive ou na página Oracle Java SE Downloads. Para Java 9 e versões posteriores, não é possível fazer download do rt.jar, pois ele não está mais disponível.
P: Como acessar os arquivos de classe no tempo de execução sem rt.jar para Java 9 e versões posteriores?
R: Você pode acessar os arquivos de classe no tempo de execução sem rt.jar para Java 9 e versões posteriores usando o sistema de arquivos JRT, que é um sistema de arquivos especial que fornece uma maneira de ler a imagem do tempo de execução como se fosse parte de um sistema de arquivos. Você pode usar APIs NIO.2 padrão para percorrer e ler os arquivos de classe em cada módulo.
P: Quais são os benefícios de remover o rt.jar no Java 9 e versões posteriores?
R: Os benefícios de remover o rt.jar no Java 9 e versões posteriores são que ele melhora o desempenho, a segurança, a capacidade de manutenção e a compatibilidade dos aplicativos Java. Também permite a modularização da plataforma Java, que permite carregar apenas os módulos necessários e reduzir o tamanho da imagem de execução. 0517a86e26
Comments