Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

  #Este é um post fechado

Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!



Artigo Java Magazine 09 - Tira dúvidas

Artigo publicado pela Java Magazine.

BRK##: 20 - 20

Esse artigo faz parte da revista Java Magazine edição 09. Clique aqui para ler todos os artigos desta edição

Atenção: por essa edição ser muito antiga não há arquivo PDF para download.Os artigos dessa edição estão disponíveis somente através do formato HTML. 

 

Tira-dúvidas

Como construir pacotes JAR e WAR

Uma das maiores dificuldades dos iniciantes na plataforma Java é construir corretamente os pacotes de suas aplicações para que sua execução ou deployment seja realizado com sucesso. Neste tira-dúvidas, são apresentados detalhadamente três dos principais pacotes Java.

Java é bem diferente de outras tecnologias populares no mercado, pela forma como aplicações são empacotadas para distribuição. Ao contrário dos ambientes focados no desenvolvimento de aplicações nativas para algum sistema operacional, não existe em Java o conceito de programa. Existem apenas classes independentes que interagem entre si – estas classes podem ser substituídas a qualquer momento, sem a necessidade de recompilação.

Empacotar uma aplicação Java é, portanto, um processo bastante diferente de instalar uma aplicação nativa. Especialmente no desenvolvimento J2EE, é importante entender como esse processo funciona, para evitar surpresas.

Programas, executáveis e pacotes

Linguagens de programação tradicionais estão intimamente ligadas ao conceito de programa. Por exemplo:

·         Em Pascal temos a declaração program, que referencia uma ou mais units;

·         Em C/C++ realizamos a linkedição de vários arquivos-objeto, derivados da compilação de arquivos .c ou .cpp, mas apenas um deles pode conter a função main que inicia o programa; Além disso, todas funções definidas em outros arquivos-objeto devem ser indicadas por declarações extern, geralmente reunidas em arquivos de cabeçalho (.h);

·         Em Visual Basic temos um projeto que determina o formulário principal ou a sub-rotina principal para o executável resultante da compilação do projeto.

Em qualquer dessas linguagens, o resultado final da compilação e/ou linkedição é um único arquivo executável, um .exe no Windows. Este executável é basicamente uma imagem de memória do programa, carregada pelo sistema operacional e entregue para execução direta pelo processador. Mesmo quando são utilizadas bibliotecas dinâmicas (.dll no Windows) ou bibliotecas compartilhadas (.so no Linux e Unix), o conceito é mantido, pois o efeito desses arquivos é compartilhar uma região de código na memória entre vários processos/programas.

Sabemos que Java não realiza a etapa de linkedição para gerar um executável – apenas compila cada arquivo-fonte em arquivos de classe (.class). Sabemos também que, ao executar aplicações Java stand-alone, devemos indicar para a máquina virtual uma classe que contenha o método main; essa classe pode estar em qualquer diretório ou pacote indicado no classpath (na verdade, podemos ter várias classes com métodos main no classpath, sem que haja conflitos).

Uma vez que a classe desejada seja carregada pela JVM, outras são carregadas à medida que forem necessárias, não havendo nenhum vínculo rígido entre elas como o que existe entre as funções e bibliotecas inclusas em um executável. Podemos, a qualquer momento (inclusive depois de iniciado o programa!), acrescentar classes ao classpath, substituir classes já presentes (desde que não tenham sido ainda carregadas), ou mesmo obter novas classes pela rede, como é feito em Applets e em aplicações RMI.

Mas, e quanto aos pacotes da plataforma Java, não seriam análogos aos arquivos .exe e .dll? Não, os vários tipos de pacotes são apenas agrupamentos de arquivos .class e outros arquivos auxiliares (como .properties e .gif), para comodidade na distribuição de um aplicativo, ou para organizar logicamente arquivos relacionados. Na maioria dos casos é indiferente ter esses arquivos abertos em um diretório ou empacotados em um .jar. Os pacotes podem ser remontados pelo acréscimo, remoção ou substituição de arquivos pelo desenvolvedor ou usuário.

Essa é uma das grandes vantagens de Java: as aplicações deixam de ser "monolitos" rígidos, transformando-se em conjuntos modulares que podem ser montados e remontados em combinações diferentes para melhor atender às necessidades particulares de cada usuário.

Classes de exemplo



ATENÇÃO! A exibição deste artigo foi interrompida.


  #Este é um post fechado

Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!







    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Autor
Fernando Lozano

é consultor independente, ativista do software livre e professor da Faculdade Metodista Bennett, além de autor do livro “Java em GNU/Linux” (Editora Alta Books). É detentor de certificações da Sun, IBM, Microsoft e Red Hat, sendo uma espécie de “agente duplo” nas várias tribos.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.

  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 4,90 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ 1,96 (assinante) ou R$ 2,45 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ 1,47
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03