Novidades da 3.3 (JDT)

Este documento contém descrições de algumas das alterações mais interessantes ou significantes efectuadas nas ferramentas de programação em Java para a edição 3.3 do Eclipse. Estas descrições estão agrupadas em:

Consulte também o documento Plataforma Eclipse - Novidades da 3.3 para conhecer as alterações à Plataforma.


Acções de código e de refactorização de Java

Refactorização sem salvaguarda

Para efectuar uma refactorização, deixa agora de ser necessário guardar os editores. Estas podem agora ser efectuadas mesmo se os editores de Java ou de texto contêm alterações não guardadas. Caso não lhe agrade ter editores com alterações por guardar após a refactorização, pode optar por guardar sempre os recursos modificados - basta especificá-lo na página de preferências Abre a página de preferências de Java Java.

Refactorização de mudança de nome no editor

A refactorização Java de mudança de nome pode agora ser executada directamente no editor, sem caixa de diálogo separada.

Ao usar a opção Refactorizar > Mudar o nome (Alt+Shift+R) no editor de Java, o editor passa a modo ligado em vez de abrir uma caixa de diálogo. As alterações permanecem locais até premir a tecla Enter, o que fará com que as alterações sejam então aplicadas a todo o espaço de trabalho.

Modo de mudança de nome local

Para ver e configurar as opções de refactorização, prima Alt+Shift+R outra vez, ou faça clique no botão do menu e escolha Abrir diálogo de mudança de nome....

Caso prefira a antiga caixa de diálogo, é possível desactivar a opção Mudança de nome no editor sem diálogo na página de preferências Abre a página de preferências Java.

Refactorização Introduzir objecto parâmetro

Introduzir objecto parâmetro é uma refactorização nova que substitui um conjunto de parâmetros de método com um objecto contentor novo. Todas as chamadas do método foram actualizadas para passar a nova classe de objecto parâmetro.

Casos práticos:

  • agrupar os parâmetros que devem estar juntos; por exemplo, Data de início, Data de fim, Cadeia newValue, Cadeia oldValue
  • reduzir o número de parâmetros
  • fornecer predefinições úteis no objecto parâmetro
  • passar o parâmetro pela cadeia de chamada

Para executar a refactorização Introduzir objecto parâmetro, seleccione um método, invoque Refactorizar > Introduzir objecto parâmetro, seleccione os parâmetros que devem ser usados como campos e dê-lhes nomes com significado.

Imagem do ecrã com o diálogo de refactorização Introduzir objecto parâmetro

A porção de código seguinte

Método antes da refactorização

será modificada da seguinte forma

Método após a refactorização

Ordenar membros em vários elementos

A acção Ordenar membros pode agora ordenar vários elementos de uma vez só. Seleccione um pacote, um projecto ou um conjunto de elementos Java no Explorador de pacotes e invoque Código > Ordenar membros.

Imagem do ecrã que mostra a acção de ordenação de membros

Limpeza de perfis

O assistente Código > Limpar foi substituído por uma página de preferências. A limpeza de perfis pode ser definida nesta página de preferências. Um perfil pode ser ligado ao espaço de trabalho ou a projectos individuais. As definições de projecto podem ser partilhadas por uma equipa através de um sistema de controlo de versões. É igualmente possível exportar e importar cada perfil.

Página de preferências de Limpeza

Novas limpezas

Foram acrescentadas os seguintes tipos de limpeza:

  • Formatar código fonte: As definições de formatação podem ser configuradas na página de preferências do Formatador.
  • Remover espaço em branco final: Pode optar por remover os espaços brancos finais em todas as linhas ou ignorar linhas vazias.
  • Organizar importações: As importações podem ser organizadas segundo as definições do projecto ou do espaço de trabalho.
  • Ordenar membros: É possível ordenar todos os membros de uma unidade de compilação, ou ignorar campos, constantes enum e inicializadores (uma vez que a ordenação de membros deste tipo pode resultar em alterações semânticas).
Editor Java

Limpeza de código ao guardar

É agora possível invocar automaticamente a limpeza de código sempre que o editor de Java é guardado. Esta função pode ser activada globalmente na página de preferências Abre a página de preferências de Acções de salvaguarda Java > Editor > Acções de salvaguarda. As acções de salvaguarda também podem ser configuradas por projecto, o que facilita a normalização dos mesmos, uma vez que as definições podem ser partilhadas por uma equipa:

Página de propriedades Acções de salvaguarda

Assistência a conteúdos para importações estáticas favoritas

A Assistência a conteúdos (Ctrl+Barra de espaços) pode agora propor conclusões para membros estáticos de uma lista de importações favoritas que podem ser configuradas na página de preferências Abre a página de preferências de Favoritos Java > Editor > Assistência a conteúdos > Favoritos.

Por exemplo, se acrescentar java.util.Arrays.* esta lista, todos os métodos estáticos deste tipo que correspondam ao prefixo de conclusão serão adicionados à lista de propostas:

Propostas da Assistência a conteúdos

Ao ser inserida uma destas propostas, são seguidas as preferências da página de preferências de Abre a página de preferências da Assistência a conteúdos Java > Editor > Assistência a conteúdos.

Assistência a conteúdos para variável com tipo não processado

O editor de Java suporta agora as propostas de novo membro com tipos não processados: dependendo da preferência de Abre a página de preferências da Assistência a conteúdos Java > Editor > Assistência a conteúdos > Adicionar importação em vez de nome qualificado, o editor ou adiciona as importações automaticamente ou qualifica totalmente os tipos em propostas destas.

Premir ; na situação seguinte:

Imagem do ecrã de Assistência a conteúdos para variáveis com tipos não processados

resulta em:

Imagem do ecrã com o resultado da assistência a conteúdos ao premir ';'

A assistência a conteúdos fornece propostas declarativas para variáveis locais não definidas

A assistência ao código pode agora inferir o nome de uma variável declarada local através da detecção da presença de nome não processados no código seguinte, como demonstra o exemplo seguinte:

Exemplo de Propostas para nomes não processados

Melhoras na assistência a conteúdos - continuação

  • A assistência a conteúdos (Ctrl+Barra de espaços) dentro de uma cláusula try-catch pode agora inferir nomes de tipos de excepção com base nas excepções a serem devolvidas no bloco try correspondente. Estas excepções são agora enumeradas antes de qualquer outra excepção.
  • Ao preencher uma referência a um nome, a Assistência a conteúdos propõe agora nomes não processados encontrados noutras partes do código.
  • As conclusões de código em instruções vazias incluem agora tipos locais da unidade de compilação actual na lista de propostas.
  • A conclusão de cógigo depois do sinal "@" propõe todos os tipos de anotação visíveis.
  • As conclusões num membro da anotação propõem todos os atributos possíveis que não foram ainda especificados.

Assistência rápida

Algumas funcionalidades que só estavam antes disponíveis no menu Refactorização estão agora disponíveis também como assistência rápida (Ctrl+1). Como sempre, as assistências rápidas não apresentam nenhum diálogo; entram em modo ligado onde é possível alterar nomes ou tipos que foram introduzidos.

  • Extrair para variável local e Extrair para constante: seleccione uma expressão no código
  • Incluir variável local: disponível num nome de variável
  • Converter a variável local em campo: disponível num nome de variável
    Imagem do ecrã da Assistência rápida Extrair local
  • Converter tipo anónimo a local: disponível no nome de tipo de uma classe anónima
    Exemplo de conversão de classe anónima a imbricada - antes
    Quando esteja em aplicação, use a tecla de indentação Tab para navegar pelo código gerado e para modificar o novo nome de tipo escolha entre os nomes de campo e de parâmetro oferecidos.
    Exemplo de conversão de classe anónima a imbricada - depois

Correcção rápida para criar método a partir de @Override

Se adicionar uma anotação @Override a um método que ainda não substitui, a correcção rápida (Ctrl+1) proporá criar o método num dos super tipos.

Correcção rápida para criar e usar os métodos getter e setter

Está disponível uma nova correcção rápida para um campo que não esteja acessível devido a restrições de visibilidade. Na situação seguinte, use Ctrl+1 para invocar a correcção rápida:

Campo invisível

Se existe um getter para este campo, pode optar por usar esse método.

Usar getter

E, se não existir nenhum getter para este campo, pode optar por criar um.

Criar getter

Modelo para acrescentar testes de métodos JUnit 4

Foi acrescentado um novo modelo de Teste para acelerar a adição de métodos de teste JUnit 4.

Coloração de sintaxe para parêntesis

Os parênteses podem agora ser coloridos independentemente dos operadores no Editor de Java através da página de preferências Abre a página de preferências de Coloração de sintaxe Java > Editor > Coloração de sintaxe:

Imagem do ecrã que mostra o editor de Java com destaque de parênteses

Acabaram-se as queixas do tipo "Não consigo ver o código inteiro" no newsgroup

O grupo de comandos que contém o botão Mostrar código só do elemento seleccionado da barra de ferramentas Imagem do botão da barra de ferramentas está agora oculto por predefinição. Pode alterar esta configuração na página de preferências Abre a página de preferências do editor de Java Java > Editor > Mostrar só o elemento seleccionado.

Tipo de letra configurável de Javadoc

Pode agora configurar o tipo de letra usado em Javadoc na página de preferências Abre a página de preferências Cores e tipos de letra Geral > Aparência > Cores e tipos de letra. O tipo de letra de apresentação de Javadoc é usado pela vista e ajudas flutuantes de Javadoc e para a informação adicional mostrada durante a assistência a conteúdos.

Imagem do ecrã da vista de Javadoc com um tipo de letra não padrão

Cor de fundo para ajuda de texto flutuante de código

A cor de fundo para todas ajudas de texto flutuante que mostram código no editor de Java pode agora ser configurada na página de preferências Abre a página de preferências do editor de Java Java > Editor.

Imagem do ecrã com uma ajuda de texto flutuante com cor de fundo personalizada

Editor de ficheiros de classe mostra o código desmontado

O editor de ficheiros de classe mostra agora os bytes de código desmontado quando o código fonte não está disponível.

Imagem do ecrã que mostra o editor de fichieros de classe com o código desmontado

Compilador Java

Tratamento melhorado de variáveis e tipos locais duplicados

JDT está agora melhor preparado para tratar o código que não é válido devido a variáveis e tipos locais duplicados; sobretudo, pode agora minimizar erros secundários. As ferramentas de Java podem assim operar em código infractor, de modo a proporcionar correcções rápidas.

  • A operação de mudança local de nome (Ctrl+2,R) funciona agora até em ciclos imbricados com erros, permitindo uma correcção rápida do nome da variável duplicada em todos os locais onde aparece.

    Mudança local de nome com localização de variáveis duplicadas


  • A invocação de método ou campo através de uma variável duplicada refere-se agora à definição mais próxima da variável local, reduzindo assim o número de erros secundários comunicados.

    Invocação de métodos com localização de variáveis duplicadas

Detecção de verificação de nulo melhorada

A opção Referência nula existente na página de preferências Abre a página de preferências Erros/Avisos Java > Compilador > Erros/Avisos foi dividida em três opções diferentes:

  • Acesso de apontador nulo (em 'Potenciais problemas de programação')
    Quando esta opção está activada, o compilador emite um erro ou um aviso sempre que uma variável que estatisticamente tenha um valor nulo for usada para aceder a um campo ou a um método, como ilustra o exemplo abaixo:

    Exemplo de acesso de apontador nulo


  • Acesso potencial de apontador nulo (em 'Potenciais problemas de programação')
    Quando esta opção está activada, o compilador emite um erro ou um aviso sempre que uma variável que estatisticamente possa ter um valor nulo for usada para aceder a um campo ou a um método, como ilustra o exemplo abaixo:

    Exemplo de acesso pontencial de apontador nulo


  • Verificação de nulo redundante (em 'Código desnecessário')
    Quando activada, o compilador emite um erro ou um aviso sempre que uma variável que estatisticamente mantenha um valor nulo ou que não seja nulo, for testada relativamente a um valor nulo, como demonstra o exemplo abaixo:

    Exemplo de verificação de nulo redundante (instanceof sempre falso)


    Exemplo de verificação de nulo redundante

Aviso para tipos não processados (em bruto) activados por predefinição

O diagnóstico opcional do compilador para detectar qualquer uso de tipos não processados é agora activado por predefinição.

Este diagnóstico pode ser configurado na página de preferências Abre a página de preferências Erros/Avisos Java > Compilador > Erros/Avisos, em Tipos genéricos > Utilização de um tipo em bruto.

Exemplo de aviso de tipo não processado

Melhoramento de aviso de parâmetro não utilizado

O aviso de Parâmetro não utilizado foi melhorada com uma nova opção que ajuda a evitar resultados falso positivos. É possível sugerir ao compilador que um parâmetro não está realmente a não ser utilizado acrescentando-lhe o identificador @param.

A opção está localizada na secção Código desnecessário da página de preferências Abre a página de preferências Erros/Avisos Java > Compilador > Erros/Avisos.

Imagem do ecrã da página de preferências Erros/Avisos

Vistas e caixas de diálogo de Java

Etiquetas coloridas nas vistas de Java

Para ativar etiquetas coloridas nas vistas de Java, abra a página de preferências Abre a página de preferências Aparência Java > Aparência e seleccione Mostrar etiquetas coloridas.

Imagem do ecrã que mostra o Explorar de pacotes com etiquetas coloridas

Decorações para campos transitórios e voláteis

Os campos transitórios e voláteis dispõem agora de decorações de ícones:

Imagem do ecrã que mostra um campo transitório e um campo volátil

Agrupamento de JARs e pastas de classes no Explorador de pacotes

O Explorador de pacotes agrupa agora as bibliotecas referenciadas num nó contentor.

Imagem do ecrã do explorador de pacotes com bibliotecas agrupadas

Mais opções de pesquisa de Java

O diálogo de pesquisa de Java foi aumentado para proporcionar um maior controlo para limitar o âmbito de pesquisa em código, projectos necessários, bibliotecas JRE e bibliotecas de aplicações.

Imagem que mostra o diálogo de pesquisa com as novas opções 'Pesquisar em'

Filtro de pesquisa para referências a método substituído

O motor de pesquisa de Java introduziu um novo critério de categorização de correspondências de referências de método. Consegue distinguir agora uma invocação através de um tipo ou um dos respectivos subtipos, de uma invocação através de um supertipo, o que normalmente é uma correspondência mais fraca. A vista Pesquisa inclui agora um filtro que reduz ainda mais as referências ao método pesquisado.

No exemplo que se segue, o utilizador procurou por referências ao método A.toString() e obteve 3 correspondências. Uma vez que o.toString() denota uma invocação de de um método que é substituído pelo destino da pesquisa A.toString(), pode ser filtrado da vista Pesquisa activando o filtro "Referências a substituído", como se mostra abaixo:

Exemplo do filtro Referências a substituído

Nota: O filtro "Referências ao substituído" não é activado por predefinição.

Seleccionar ambiente de execução ao criar um projecto de Java

Caso crie um projecto Java que pretende partilhar com uma equipa, é boa ideia usar um ambiente de execução em vez de um JRE específico.

Os ambientes de execução são representações simbólicas de JREs com entradas normalizadas como 'J2SE-1.4', 'J2SE-1.5'. Isso significa que nenhum caminho de sistema de ficheiro passará para o caminho de construção partilhado.

É possível atribuir JREs aos ambientes na página de preferências Abre a página de preferências dos mbientes de execução Java > JREs instalados > Ambientes de execução.

Imagem do ecrã que mostra o assistente 'Novo projecto Java'

Adicionar um novo projecto Java a um conjunto de trabalho

O assistente de Novo projecto Java tem agora novos campos de introdução de dados para especificar os conjuntos de trabalho aos quais o novo projecto é acrescentado. Os campos são inicializados a partir da selecção da altura ou do filtro do conjunto de trabalho activo no Explorador de pacotes.

Imagem que mostra o assistente de Novo projecto Java

Atribuir conjuntos de trabalho

Agora é mais fácil organizar elementos Java ou recursos em conjuntos de trabalho. Para atribuir um elemento a um novo conjunto de trabalho, seleccione o elemento no Explorador de pacotes e escolha Atribuir conjuntos de trabalho... no menu contextual.

Imagem do ecrã que mostra a caixa de diálogo de atribuição de conjuntos de trabalho

Colar declaração de tipo cria novo projecto

Já alguma vez quis usar rapidamente um fragmento de código enviado por outra pessoa? Copie o fragmento de código para a área de transferência, vá para o Explorador de pacotes, certifique-se de que nada está seleccionado e escolha Editar > Colar (Ctrl+V).

Eclipse tenta interpretar o texto da área de transição e se o conteúdo parecer conteúdo para um ficheiro *.java, cria um novo projecto Java e o ficheiro *.java.

depois de colar (ficheiro *.java criado e aberto)

Como na versão 3.2, pode ainda seleccionar um projecto ou pacote existente e usá-lo como destino para o novo ficheiro.

Colar melhorado no Explorador de pacotes

Colar código fonte Java com declarações com vários pacotes no Explorador de pacotes cria agora automaticamente todos os pacotes e unidade de compilação necessários. A estrutura à direita é criada quando cola o fragmento à esquerda, no Explorador de pacotes sem ter nada seleccionado:

pacote a;
public class Target {
}

//--
pacote b;
import a.Target;
public class Test {
  void reference() {
    new Target();
  }
}
            
Explorador de pacotes com a estrutura do pacote e projecto criados

Anular eliminações nas vistas Java

Editar > Anular está agora também disponível para eliminações de elementos Java em vistas Java. Pacotes, unidades de compilação, etc. eliminados acidentalmente podem ser facilmente restaurados carregando em Ctrl+Z.

Arrastar e colar Java no Explorador de Projectos

Os elementos Java arrastados e colados no Explorador de projectos agora activam eventos de refactorização (como no Explorador de pacotes).

Java DND em acção

Exportar e importar execuções de testes JUnit

As execuções de testes JUnit podem agora ser importadas e exportadas.

Menu da vista JUnit com as acções Importar e Exportar

Actualmente, Eclipse pode ler os próprios ficheiros XML de armazenamento de execuções, assim como os ficheiros XML produzidos pela tarefa Ant JUnit.

Abrir tipo abre vários tipos

A caixa de diálogo Abrir tipo (Ctrl+Shift+T) suporta agora abrir vários editores ao mesmo tempo.

Caixa de diálogo Abrir tipo com selecção múltipla

Pesquisa de padrões para pacotes e de tipos delimitadores

Podem ser especificados padrões com os caracteres '*' ou '?' para pacotes e tipos delimitadores na caixa de diálogo Abrir tipo.

Exemplo da caixa de diálogo Abrir tipo: java.*.ChangeHandler

Depurador Java

Seguir referências (só Java SE 6)

É possível apresentar todas as referências a um objecto (só disponível durante a depuração numa máquina virtual Java SE 6). As referências a objectos podem ser apresentadas na vista das variáveis se comutar o comando Mostrar referências no menu da vista. As referências a cada objecto estão agrupadas numa colecção.

Comutador Mostrar referências no menu da vista

As referências podem igualmente ser apresentadas numa caixa de diálogo emergente seleccionando um objecto na vista Variáveis e escolhendo Todas as referências no menu contextual.

A acção Todas as referências no menu contextual

As referências são apresentadas numa caixa de diálogo emergente.

Caixa de diálogo com referências

Apresentar instâncias (só Java SE 6)

É possível apresentar todas as instâncias de um tipo Java (só disponível durante a depuração numa máquina virtual Java SE 6). As instâncias podem ser apresentadas numa caixa de diálogo emergente seleccionando um tipo no esquema do editor, um nome de tipo no editor de Java, ou uma variável na vista Variáveis e escolhendo Todas as instâncias no menu contextual.

Acção Todas as instâncias no menu contextual

As instâncias são apresentadas numa caixa de diálogo emergente.

Caixa de diálogo emergente que apresenta instâncias

Forçar devolução (só Java SE 6)

É possível forçar a devolução antecipada de um método (só disponível se estiver a depurar numa VM Java SE 6). Assim, é devolvido um valor da estrutura de pilha de memória actual sem executar nenhuma outra instrução no método e é liberto qualquer bloqueio obtido por blocos sincronizados. Um valor de devolução é criado através da selecção de uma expressão e da opção Forçar devolução (Alt+Shift+F). Esta acção está diponível no menu contextual do editor de Java, do menu superior Executar, na vista Apresentação e na área de janela de detalhes da vista Variáveis.

Forçar uma devolução antecipada de um método não-vazio requer a avaliação de uma expressão. Por exemplo, se um método ia devolver false, é possível forçar a devolução de um valor true seleccionando uma expressão na vista Apresentação e invocando Forçar devolução. No exemplo seguinte, elementCount não é igual a zero, e devolveria false (veja a ajuda flutuante da depuração que mostra o valor de elementCount).

Método que ia devolver um valor false uma vez que elementCount != 0

Use a acção Forçar devolução da vista Apresentação para devolver true.

Seleccione a expressão e Forçar devolução do menu contextual

Entrar no método através de hiperligações

Durante a depuração, é possível entrar num método através de de hiperligações. Use Ctrl+Alt+Clique para entrar num método (em vez de Ctrl+Clique que leva para o código fonte.

Entrar em através de hiperligações (Ctrl+Alt)

Clique duplo e Ctrl+Shift+B para todos os tipos de pontos de interrupção

Fazer duplo clique na barra vertical ou invocar Comutar ponto de interrupção (Ctrl+Shift+B), cria agora um ponto de interrupção apropriado com base na posição do cursor - ponto de interrupção de linha, ponto de, observação, de interrupção de método ou de carregamento de classe. Para criar este último, faça duplo clique na linha de declaração da classe.

Ponto de interrupção de carregamento de classe

Filtros de passagem vs. voltar

É possível configurar os filtros de execução (depuração) por passos para voltarem sempre de uma zona filtrada ou para passarem para uma parte não filtrada. Por exemplo, se java.util for uma parte filtrada, entrar no código em HashMap pode resultar numa chamada ao código da aplicação para verificar a igualdade de um objecto. Se escolher usar os filtros, um passo Entrar iria parar no código da sua aplicação. Contudo, quando a opção Usar filtros de execução por passos está desactivada, um passo para entrar em HashMap seria como um passo Saltar.

Use as definições dos filtros de execução por passos na página de preferências Abre a página de preferências Filtração por passos Java > Depurar > Filtração por passos para comutar a função.

Formatação automática dos rastreios de pilhas

Os rastreios de pilhas podem ser formatados automaticamente enquanto os cola na consola de rastreio de pilha Java. Há um comutador Formato automático na barra de ferramentas da consola.

O botão Formato automático da barra de ferramentas da consola de rastreio de pilha

Exportar estruturas lógicas

Agora é possível exportar e importar preferências de estrutura lógica Java separadamente das restantes preferências do espaço de trabalho. As estruturas lógicas Java estão definidas na página de preferências Abre a página de preferências Estruturas lógicas Java > Depurar > Estruturas lógicas. As estruturas lógicas são utilizadas para definir apresentações alternativas para estruturas de dados complexas e são apresentadas durante a examinação de objectos na vista Variáveis. Por exemplo, apresentar uma colecção java.util.Collection como matriz em vez de revelar a estrutura interna dos dados que implementa a colecção.

Exportar estruturas lógicas

Vários

Novas opções do formatador de código

Foram acrescentadas novas opções à página de preferências Abre a página de preferências do Formatador Java > Estilo do código> Formatador:

  • A Formatação de comentários pode agora ser activada e desactivada para cada tipo de comentário individualmente (Javadoc, bloco, linha única, e comentários de cabeçalho). Os comentários de linha e de bloco na primeira coluna podem ser excluídos da indentação.

    Imagem do ecrã que mostra a caixa de diálogo de modificação das preferências do formatador


  • O número de linhas em branco que Organizar importações (Ctrl+Shift+O) insere entre grupos de importação pode ser configurado no separador Linhas em branco. Ao formatar, esta definição terá precedência sobre o número de linhas brancas a preservar.

    Imagem do ecrã que mostra a opção 'Linhas em branco entre grupos de importação' da página de preferências do formatador


  • As expressões binárias podem agora ser translineadas antes ou depois do operador.

    Imagem do ecrã que mostra a caixa de diálogo de modificação das preferências do formatador


  • No caso de instruções de devolução, pode agora adicionar ou remover espaços brancos antes da expressão entre parênteses da instrução de devolução. Esta opção está disponível no separador Espaço branco.

    Imagem do ecrã da página de preferências do Formatador que mostra a opção 'Espaço antes das devoluções da expressão'

Regras de acesso para ambientes de execução

As regras de acesso são agora atribuídas a cada ambiente de execução com base no respectivo perfil. Por exemplo, as regras impedem o acesso a pacotes com.sun.* cuja presença durante a execução não é garantida. As regras aplicam-se unicamente a projectos ligados a ambientes de execução. Os projectos ligados a um determinado JRE ainda têm acesso a todas as respectivas bibliotecas.

Regras de acesso para bibliotecas de sistema

Variáveis de caminho de classe obsoletas e não modificáveis

As variáveis de caminho de classe definidas pelo sistema podem agora ser tornadas obsoletas e/ou declarados só de leitura através do ponto de extensão org.eclipse.jdt.core.classpathVariableInitializer.

Os utilizadores devem substituir as variáveis de caminho de classe por mecanismos melhores, tais como Bibliotecas.

Caixa de diálogo do caminho de construção de Java com variáveis obsoletas

No caso de algumas variáveis (por ex. JUNIT_HOME), a vista Problemas proporciona correcções rápidas para migrar projectos existentes.

Caminhos relacionados com o espaço de trabalho para localizações Javadoc

Os caminhos relacionados com o espaço de trabalho são agora aceites como localizações Javadoc para arquivos e pastas de classe:

Imagem do ecrã da caixa de diálogo de configuração da localização de Javadoc

Geração de tipo de tempo de execução

O processamento de anotações Java 5 (APT) foi introduzido no Eclipse 3.2, mas até agora os novos tipos só podiam ser gerados através de uma nova construção. Os processadores de anotações Java 5 podem agora gerar novos tipos em qualquer altura, durante a edição das anotações. Esta função está desactivada por predefinição, por razões de desempenho; para activar, o processador tem de incluir "enableTypeGenerationInEditor" no conjunto de cadeias devolvidas de AnnotationProcessorFactory.supportedOptions().

Processamento de anotações Java 6

O Eclipse 3.3 suporta completamente o processamento de anotações Java 6 no compilador de lotes Java do Eclipse. O processamento de anotações Java 6 dispõe também de um suporte mínimo no IDE; maior suporte está planeado para breve.