Quando um aplicativo Java está em execução, ele precisa carregar os bytes das classes utilizadas na memória. Portanto, existem certos requisitos para a localização dos arquivos de bytecode, que geralmente são divididos nas quatro situações a seguir:
1. Use uma classe sem nome de pacote no diretório onde o aplicativo atual está localizado:
Classes que não possuem nome de pacote no diretório onde a aplicação atual está localizada podem ser carregadas e utilizadas diretamente.
2. Use classes na biblioteca de classes no Java Runtime Environment:
Todas as classes na biblioteca de classes fornecida pelo Java Runtime Environment possuem nomes de pacotes e o aplicativo deve usar a instrução import para introduzir as classes no pacote correspondente.
3. Use classes de diretórios descendentes do diretório atual da aplicação:
Os diretórios descendentes no diretório atual do aplicativo podem ser usados como o nome do pacote definido pelo usuário. As classes com esse nome de pacote devem ser armazenadas nesses diretórios descendentes. O aplicativo pode usar a instrução import para introduzir classes no usuário. pacote definido.
4. Use classes na extensão Java Runtime Environment:
Podemos usar o comando jar.exe para compactar os arquivos de bytecode de algumas classes em um arquivo jar e, em seguida, armazenar o arquivo jar na extensão do ambiente de tempo de execução Java, ou seja, armazenar o arquivo jar em jrelibext de a pasta do diretório de instalação do JDK, para que os aplicativos Java possam usar as classes neste arquivo jar para criar objetos.
classe com nome do pacote
Suponha que o nome do pacote das seguintes classes TestOne e TestTwo seja moon.star.
TestOne.java
packagemoon.star;//Instrução do pacote publicclassTestOne{publicvoidfTestOne(){System.out.println(IamamethodInTestOneclass);}}
TestTwo.java
packagemoon.star;//Instrução do pacote publicclassTestTwo{publicvoidfTestTwo(){System.out.println(IamamethodInTestTwoclass);}}
Salve TestOne.java e TestTwo.java no diretório C:1000moonstar e, em seguida, insira esse diretório para compilar os dois arquivos de origem, respectivamente.
Agora, compactaremos TestOne.class e TestTwo.class no diretório C:1000moonstar em um arquivo jar: Jerry.jar.
Primeiro, escrevemos um arquivo de manifesto: hello.mf (Manifestfiles).
olá.mf
Versão do manifesto:1.0Classe:moon.star.TestOnemoon.star.TestTwoCreated-By:1.6
Salve hello.mf no diretório C:1000 Para usar o comando jar para gerar um arquivo jar, primeiro você precisa inserir o diretório C:1000, ou seja, inserir o diretório acima do nome do pacote e, em seguida, inserir o diretório acima do nome do pacote. use o comando jar para gerar um arquivo chamado Jerry.jar.
C:1000>jarcfmJerry.jarhello.mfmoonstarTestOne.classmoonstarTestTwo.class
Se C:1000moonstar tiver apenas dois arquivos de bytecode, TestOne.class e TestTwo.class, você também poderá usar o comando jar.
C:1000>jarcfmJerry.jarhello.mfmoonstar*.class
Por fim, copie o arquivo Jerry.jar gerado pelo comando jar no diretório C:1000 para a extensão do Java Runtime Environment, ou seja, armazene o arquivo Jerry.jar na pasta jrelibext da instalação do JDK diretório.
Classe sem nome de pacote
Se as classes TestOne e TestTwo não tiverem nomes de pacotes, basta salvar TestOne.java e TestTwo.java em C:1000 e compilar os arquivos de bytecode. Escreva um arquivo de manifesto, salve-o em C:1000, entre no diretório C:1000 e use o comando jar.
C:1000>jarcfmJerry.jarhello.mfTestOne.classTestTwo.class
Se C:1000 tiver apenas dois arquivos de bytecode, TestOne.class e TestTwo.class, você também poderá usar o comando jar.
C:1000>jarcfmJerry.jarhello.mf*.class
Por fim, copie o arquivo Jerry.jar gerado pelo comando jar no diretório C:1000 para a pasta jrelibext no diretório de instalação do JDK. O aplicativo pode usar diretamente TestOne.class e TestTwo no arquivo Jerry.jar. . .aula.