Eu tenho um projeto existente que usa @Override
métodos que substituem métodos de interface , em vez de métodos de superclasse. Não posso alterar isso no código, mas gostaria que o Eclpse parasse de reclamar da anotação, pois ainda posso criar com o Maven.
Como eu desabilitaria esse erro?
Nota: Devido aos requisitos do projeto, preciso compilar para o Java 1.5.
java
eclipse
interface
annotations
syntax-error
Stefan Kendall
fonte
fonte
Respostas:
O uso da
@Override
anotação nos métodos que implementam os declarados por uma interface é válido apenas a partir do Java 6. É um erro no Java 5.Verifique se seus projetos IDE estão configurados para usar um Java 6 JRE e se a "compatibilidade de origem" está definida como 1.6 ou superior:
Lembre-se de que o Eclipse pode substituir essas configurações globais para um projeto específico, portanto verifique-as também.
Atualizar:
O erro no Java 5 não é apenas com o Eclipse; o uso
javac
direto da linha de comando fornecerá o mesmo erro. Não é um código-fonte Java 5 válido.No entanto, você pode especificar a
-target 1.5
opção para JDK 6javac
, que produzirá um arquivo de classe da versão Java 5 a partir do código-fonte Java 6.fonte
Faça o seguinte:
Projeto -> Propriedades -> compilador java ->
fonte
Verifique também se o projeto tem faceta. A versão java pode ser substituída por lá.
fonte
As configurações específicas do projeto podem estar ativadas. Escolha seu projeto
Project > Properties > Java Compiler
,uncheck
oEnable project specific settings
ou a mudançaJdk 1.6
e acima não esquecendo o correspondenteJRE
.Incase ele não funcionar, retire o seu projecto de eclipse, apagar
.settings folders
,.project
,.classpath
arquivos.clean and build the project, import it back into eclipse and then reset your Java compiler. Clean and build your project
e eclipse. Funcionou para mimfonte
Você pode alterar as configurações do compilador para aceitar a sintaxe do Java 6, mas gerar a saída do Java 5 (como eu me lembro). E defina a "Compatibilidade de arquivos de classe gerada" um pouco mais baixa, se necessário pelo seu tempo de execução. Atualização : verifiquei o Eclipse, mas ele reclama se eu configuro a compatibilidade de origem como 1.6 e a compatibilidade de classe como 1.5. Se 1.6 não for permitido, costumo comentar manualmente as anotações ofensivas do @Override na fonte (o que não ajuda no seu caso).
Atualização2: Se você fizer apenas a compilação manual, poderá escrever um pequeno programa que copie o projeto original em um novo, retire as anotações @Override das fontes java e basta clicar em Limpar projeto no Eclipse.
fonte
Você também pode tentar o Retroweaver para criar a versão Java5 das classes Java6.
fonte
Use o Eclipse para procurar e substituir (remover) todas as instâncias de "@Override". Em seguida, adicione novamente as substituições que não são da interface usando "Limpar".
Passos:
fonte
Eu entendi o seu problema, mude seu jdk do seu jdk para maior que 1,5
fonte
A configuração de que os projetos IDE estão configurados para usar um Java 6 JRE ou superior às vezes não remove o erro do eclipse. Para mim, um reinício do IDE Eclipe ajudou.
fonte
Mesmo depois de alterar a configuração de conformidade do compilador para 1.6 ou 1.7 na guia windows, em seguida, prefernces, java, compilador e definir a conformidade do compilador, eu ainda estava tendo esse problema. A idéia é que precisamos ir para a pasta do projeto, clicar com o botão direito do mouse em Java e definir a conformidade do compilador para 1.6 ou higer. Isso funcionou para mim.
fonte