Perguntas Mais Freqüentes no JDT

Posso utilizar um compilador Java diferente do interno (por ex., javac) com o ambiente de trabalho?

Número O JDT fornece uma série de recursos sofisticados, incluindo recompilação incremental totalmente automática, avaliação de trecho de código, assistência ao código, hierarquias de tipo e substituição automática de código. Esses recursos requerem suporte especial encontrado no compilador Java do ambiente de trabalho (uma parte integrante do construtor de projetos incremental do JDT), mas não disponível em compiladores Java padrão.

De onde vêm os pacotes Java?

Um projeto contém somente arquivos e pastas. A noção de um pacote Java é introduzida por um caminho de classe do projeto Java (na UI, o Package Explorer apresenta os pacotes conforme definidos pelo classpath). Dica: se a estrutura do pacote não for a esperada, registre a saída de seu caminho de classe. A infra-estrutura de procura Java só localiza declarações e referências de elementos Java no caminho da classe.

Quando utilizar um arquivo de biblioteca JAR interno ou externo?

Um recurso interno reside em algum projeto no ambiente de trabalho e é, portanto, gerenciado pelo ambiente de trabalho; como outros recursos, esses recursos podem ter a versão gerenciada pelo ambiente de trabalho. Um recurso externo não faz parte do ambiente de trabalho e pode ser utilizado somente para referência. Por exemplo, um JRE é geralmente externo e muito grande, e não há necessidade de associá-lo a um sistema VCM.

Quando devo utilizar pastas de origem dentro de um projeto Java?

Cada projeto Java localiza seus arquivos fonte Java por meio de uma ou mais entradas de tipo de origem no caminho de classe do projeto. Utilize pastas de origem para organizar os pacotes de um grande projeto para agrupamento útil ou para manter o código fonte separado de outros arquivos no mesmo projeto. Também utilize as pastas de origem se você tiver arquivos (por ex., documentação) que não precisem estar no caminho de construção.

Quais são as conexões de origem e como definir uma?

As bibliotecas são armazenadas como arquivos JAR que contêm arquivos class binários (e talvez outros recursos). Esses arquivos class binários fornecem informações de assinatura para pacotes, classes, métodos e campos. Essas informações são suficientes para compilação ou execução, mas são bem menos informações do que aquelas contidas no código fonte. Para facilitar a procura e depuração de bibliotecas binárias, há um mecanismo para associar um arquivo JAR (ou ZIP) de origem correspondente a um arquivo JAR binário.

Por que todos os meus recursos são duplicados na pasta de saída (por ex., bin)?

Se seu projeto Java estiver utilizando pastas de origem, então, no curso da compilação dos arquivos fonte no projeto, o compilador Java copiará recursos não-Java para a pasta de saída, para que também fiquem disponíveis no caminho da classe do programa em execução. Para evitar que determinados recursos sejam copiados para o local de saída, é possível configurar um filtro de recurso nas preferências do compilador Java: Janela > Preferências > Java > Compilador > Construção

Como evitar que os arquivos da documentação sejam copiados para a pasta de saída do projeto?

Utilize pastas de origem e coloque todos os recursos que você não deseja copiar para a pasta de saída em uma pasta separada que não esteja incluída no caminho da classe. Também é possível configurar um filtro de recurso nas preferências do compilador Java: Janela > Preferências > Java > Compilador > Construção para, por exemplo, *.doc.

Como criar um pacote padrão?

Isso não é necessário. Os arquivos na pasta raiz de uma pasta ou projeto de origem são considerados como estando no pacote padrão. De fato, cada pasta de origem pode ter um fragmento do pacote padrão.

O que é reformulação?

Reformulação significa transformação do programa preservando o comportamento. O JDT suporta uma série de transformações descritas no livro de Martin Fowler Refactoring: Improving the Design of Existing Code, Addison Wesley 1999.

Quando utilizar seleção de código /resolução de código (F3)?

Para descobrir o elemento Java que corresponde a um intervalo de origem com a ajuda do compilador.

As informações do programa Java (por ex., hierarquia de tipo, declarações, referências) são produzidas pelo construtor Java? Elas ainda são atualizadas quando a autoconstrução está desativada?

As informações do programa Java são independentes do construtor Java. Elas são atualizadas automaticamente ao executar alterações de recursos ou operações Java. Particularmente, todas as funcionalidades oferecidas pelas ferramentas Java (por exemplo, hierarquias de tipo, assistente de código, procura) continuarão a ser executadas precisamente quando a auto-construção estiver desativada; por exemplo, ao executar recriação em grande quantidade que exija a desativação dos construtores, você ainda poderá utilizar o assistente de código, que refletirá as últimas alterações (ainda não construídas). Exceto o lançamento (isto é, execução e depuração) de programas, a única funcionalidade que requer o construtor Java é a avaliação de trechos de código.

Após a reabertura de um ambiente de trabalho, a primeira construção que ocorre após a edição de um arquivo fonte Java parece demorar muito tempo. Por que isso ocorre?

O construtor de projeto incremental Java salva seu estado interno para um arquivo quando o ambiente de trabalho é fechado. Na primeira construção após a reabertura do projeto, o construtor de projeto incremental Java restaura seu estado interno. Quando esse arquivo é grande, ocorre um atraso de construção raramente longo.

Não consigo ver uma hierarquia de tipo para minha classe. O que posso fazer?

Verifique se o caminho da classe de construção está configurado corretamente. Definir o caminho da classe de construção adequada é uma tarefa importante ao desenvolver Java. Sem o caminho de construção correto, não é possível compilar seus códigos. Além disso, você não poderá pesquisar ou ver as hierarquias de tipo para elementos Java.

Como desativar a "autocompilação" e executá-la manualmente quando desejar?

Limpe a caixa de opções Construir Automaticamente na página de preferências Abre a página de preferências Espaço de Trabalho Geral > Espaço de Trabalho. Quando quiser construir, pressione Ctrl+B ou selecione Projeto > Construir Tudo na barra de menus.

Sugestão: quando você desativar a "compilação automática" e construir manualmente, poderá também selecionar a caixa de opções Salvar automaticamente antes de construir na página de preferências Abre a página de preferências Espaço de Trabalho Geral > Espaço de Trabalho.

Quando eu seleciono um método ou um campo na visualização Outline, somente a origem daquele elemento é mostrada no editor. O que devo fazer para ver a origem do arquivo inteiro?

Há um botão da barra de ferramentas Mostrar Origem Apenas do Elemento Selecionado - deixe-o sem estar pressionado.

É possível aninhar pastas de origem?

Sim, você pode utilizar filtros de exclusão para criar pastas de origem aninhadas.

É possível ter pastas de saída separadas para cada pasta de origem?

Sim, selecione a caixa de opções Permitir pastas de saída para pastas de origem na página de propriedade Caminho de Construção Java > Origem do projeto Java.

É possível ter uma pasta de saída ou de origem localizada fora do espaço de trabalho?

Sim, você pode criar uma pasta vinculada que aponte para a localização desejada e utilizar esta pasta como a pasta de origem ou de saída em seu projeto Java.

Conceitos Relacionados

JDT (Ferramentas de Desenvolvimento Java)

Referência Relacionada

Página Caminho de Construção Java
Glossário do JDT