Como corrigir o erro "Atualizando o projeto Maven". Tipo IClasspathEntry não suportado = 4?


412

Importei o projeto maven no STS. Quando executo o projeto de atualização de atualização, recebo:

"Updating Maven Project". Unsupported IClasspathEntry kind=4

Existe uma solução alternativa para isso?


Uma construção na linha de comando funciona? Qual versão do Maven?
Khmarbaise

Eu tenho o mesmo problema e eu não sou capaz de slove por esta resposta, você pode ver stackoverflow.com/questions/12049566/…
Hemant Metalia

Respostas:


613

Esse problema foi corrigido no m2e 1.5.0, disponível para Eclipse Kepler (4.3) e Luna (4.4)

Consulte https://bugs.eclipse.org/bugs/show_bug.cgi?id=374332#c14

O problema é causado pelo fato de que o STS (o Spring IDE / Eclipse), assim como o Eclipse e outros IDE baseados em Eclipse, usam o plug-in m2e (clipse), mas esse eclipse: eclipse provavelmente já foi executado no projeto. Quando o m2e encontra uma entrada "var" .classpath, gera esse erro.

Os sites de atualização são especificados no seguinte URL:
http://eclipse.org/m2e/m2e-downloads.html

Se você não puder usar o m2e 1.5.0 por qualquer motivo, então:

  1. Desativar a natureza do maven para o projeto (através do menu do botão direito)

  2. Execute mvn eclipse:clean(enquanto o seu projeto estiver aberto no STS / eclipse). Dependendo do tempo, pode ser necessário fazer uma ou duas atualizações no projeto antes de reativar a natureza do maven. Você poderá ver que seu projeto perdeu a natureza do Maven. (A eclipse:cleanmeta apenas exclui o .project, .classpathe .settings/arquivos / diretórios. Você também pode simplesmente remover esses arquivos (mais uma vez , enquanto o projeto está aberto ) em vez de correr mvn eclipse:clean.)

  3. Reative a natureza do maven.
    (Na maioria das vezes, isso pode ser feito clicando com o botão direito do mouse no projeto em questão no painel do explorador de pacotes e escolhendo 'Configurar' -> 'Converter em projeto do Maven')


3
Eu tive que tentar isso duas vezes para fazê-lo funcionar. A primeira vez que tentei, o "var" voltou ao arquivo .classpath. Regenerei os arquivos com mvn eclipse: eclipse e tentei novamente. Funcionou pela 2ª vez.
Deepak Bala

1
Pode ajudar a remover manualmente a partir do arquivo .classpath todo o classpathentrycom o kindconjunto de atributos para var.
Puigcerber

31
Funcionou para mim, mas eu tive que fazer um "Atualizar" extra antes de reativar a natureza do Maven (na verdade, no meu caso "Configurar como projeto Maven", pois era um projeto facetado)
Stuart Watt em


2
Eu acho que você vá as versões Eclipse errado: Eclipse Kepler é de 4,3 e Luna é de 4,4
vogella

63
  1. Clique com o botão direito do mouse em seu projeto, selecione Maven -> Remover Maven Nature.

  2. Abra seu terminal, vá para a pasta do projeto e faça mvn eclipse:clean

  3. Clique com o botão direito do mouse em seu projeto e selecione "Configurar -> Converter em projeto Maven"

Agora você tem “IClasspathEntry kind = 4 Eclipse Scala não suportado” desaparecendo.


5
Obrigado por isso. Apenas uma nota para os outros, é mvn eclipse:clean, não mvn clean(eu fui enganado por não prestar muita atenção).
Jin Kim

Está bem. Eu criei src / java a partir da linha cmd, depois de importar o projeto para o Kepler. Esse foi o caso
Zbyszek

43

Às vezes, mesmo a reimportação do projeto Maven não funcionará. Atualizar o projeto corretamente no eclipse não é um processo determinístico. O único procedimento 100% à prova de falhas que encontrei é:

  1. Desative o Maven Nature, corra mvn eclipse:clean, reinicie, cruze os dedos e ore 3 vezes.
  2. Se isso não funcionar, exclua o projeto, execute mvn eclipse:clean, reimporte a atualização, ore e use a força .
  3. Se isso ainda não funcionar, reinicie o Eclipse ou, melhor ainda, o seu computador . Enquanto aguarda a reinicialização, você pode fazer uma doação aleatória para corrigir seu Karma. Repita o passo 2 e não se esqueça de orar e controlar sua raiva. A raiva leva ao ódio. O ódio leva ao sofrimento.
  4. Tente todas as outras respostas postadas neste tópico. Pode ser necessário experimentá-los todos por três vezes, pelo menos, antes de desistir.
  5. Formate o seu computador, reinstale o Eclipse e o Maven . Não há necessidade de orar mais, todos os deuses te odeiam de qualquer maneira
  6. Exclua seu projeto git, grave a unidade física que armazenava o repositório remoto e escreva seu projeto do zero.
  7. Encontre uma máquina do tempo , viaje para o passado e convença-se a seguir outra carreira que não seja de programação ou, pelo menos, para evitar Java

3
Tentei de tudo, continuar a dizer "problema Maven Dependência Gestão" ou "NullPointerException"
srirachapills

1
Mantenha Repita calma e Restart Undo
yannicuLar

1
O que o Java fez com você?
Máquina de Lavar Roupa Mal

2
@EvilWashingMachine Nada de ruim realmente .. Apenas tentei fazer-se uma desculpa para justificar o uso de uma máquina do tempo
yannicuLar

1
Mantenha vim calma e uso terminal +
Pratik Singhal

12
  1. Verifique se a versão do plug-in m2e (clipse) que você está executando é pelo menos 1.1.0

  2. Fechar projeto maven - clique com o botão direito do mouse em "Fechar projeto"

  3. Remova manualmente todo o classpathentry com kind = "var" no arquivo .classpath
  4. Projeto aberto

ou

  1. Remover projeto maven
  2. Rmeove .classpath 4 Reimportar projeto manualmente

O erro não está no STS, como afirma o @Marco. É um problema geral de m2e. Desative a natureza do Maven, exclua o arquivo .classpath, reative a natureza do Maven.
Sbzoom 22/08/12

6

Você tentou:

  1. Se você tiver um projeto de importação no eclipse 4, exclua-o.
  2. No maven consol, execute: mvn eclipse: clean
  3. No Eclipse 4: Arquivo -> Importar -> Maven -> Projetos existentes do Maven

1
Antes de fazer isso, verifique se o plugin maven eclipse não foi executado no projeto anteriormente. mvn eclipse: clean corrigirá se necessário.
#

3
Isso funcionou melhor para mim em Juno. Excluí os projetos no Eclipse e depois reimportei.
precisa saber é o seguinte

Nenhum efeito em Eclipse Kepler
Zbyszek

3

Vendo todas as outras respostas. Encontrei para mim uma maneira mais simples.

Acabei de remover todas as linhas no caminho .classpath (editando com eclipse) contendo um projeto var e usado maven -> update sem erros.


Isso funcionou para mim, também necessário remover uma linha de "jar" que continha uma jarra de maven.
precisa saber é o seguinte

2

Este erro também será gerado se o comando update for usado em um projeto instrumentado para cobertura de código com o Clover.

Para resolver neste cenário: Não instrumentar as pastas do projeto que você deseja atualizar. Execute a atualização maven e depois o instrumento para cobertura do código novamente.


0

Eu tentei os passos de Marco, mas sem sorte. Em vez disso, se você obtiver o mais recente plug-in m2e no link que ele fornece e, um a um, clique com o botão direito do mouse em cada projeto -> Maven -> Atualizar dependências, o erro ainda será exibido, mas o problema foi resolvido. Ou seja, os avisos desaparecem na exibição de Marcadores. Encontrei esse problema depois de importar alguns projetos para o SpringSource Tool Suite (STS). Quando voltei à minha instalação do Eclipse Juno, os avisos estavam sendo exibidos. Vendo que o m2e 1.1 já estava instalado, tentei as etapas de Marco sem sucesso. Obter a versão mais recente, porém, foi corrigida.


1
Obrigado, editei minha resposta para enfatizar que você deve obter a versão mais recente, não apenas a 1.1.0, que era a versão mais recente no momento.
Marco

Se você usar o Eclipse MarketPlace em vez de fazer o download através de um site externo, sempre obterá a versão mais recente.
Jops 30/03

0

Não consegui obter o mvn eclipse: clean etc para trabalhar com o Kepler.

No entanto, mudei a criação e a extensão de variáveis ​​para o uso de jars externos no meu caminho de classe do eclipse. Isso se refletiu em nenhum var no meu caminho .class.

Isso corrigiu o problema. Consegui fazer uma atualização do Maven.


0

Esse problema ( https://bugs.eclipse.org/394042 ) foi corrigido no m2e 1.5.0, disponível para Eclipse Kepler e Luna neste repositório p2:

http://download.eclipse.org/technology/m2e/releases/1.5

Se você também usar o m2e-wtp, precisará instalar o m2e-wtp 1.1.0 também:

http://download.eclipse.org/m2e-wtp/releases/luna/1.1


Os firts ligar yields "Lamentamos, a página ou arquivo não pode ser encontrado Aqui estão algumas razões por que ...."
Jaroslav Záruba

O motivo 1 se aplica aqui: Este é um repositório do site / p2 do Eclipse Update; você deve acessá-lo no Eclipse (consulte help.eclipse.org/luna/index.jsp?topic=//… ).
precisa

0

A atualização do Kepler para a Luna funcionou para mim.

Acabei de adicionar alguns componentes para suporte ao Java 1.8. Parece que eles não são tão compatíveis quanto eu gostaria ou que misturei os errados. Isso realmente causou muitos problemas. Tentando atualizar o sistema relatou erros, pois eles não podiam cumprir algumas dependências. As atualizações do Maven não funcionaram. Tentei muitas coisas.

Portanto, se não houver motivo para evitar a atualização, adicione o repositório luna a sites de software disponíveis (Luna http://download.eclipse.org/releases/luna/ ) e "verifique se há atualizações". É melhor ter todos os componentes com a mesma versão e existem alguns novos recursos interessantes.


0

Eu tentei todas as etapas mencionadas aqui e em perguntas semelhantes, mas não consegui resolver esse problema. Não consegui resolver o problema nem atualizar meu m2eclipse. Então, instalei o Eclipse Luna e ele resolveu o meu problema ... embora isso signifique que eu precisei gastar cerca de 45 minutos para configurar todo o ambiente no meu espaço de trabalho.


0

Tente o comando mvn clean install eclipse: eclipse -Dwtpversion = 2.0 no prompt de comando do DOS. Sugerindo porque, funcionou para mim !!


0

Estou usando o Eclipse 4.3.2 (Kepler) com o M2E 1.4.xe senti esse problema várias vezes!

No meu caso, o comando "mvn eclipse: eclipse" também gera a configuração Checkstyle, PMD e Findbugs, de modo que "mvn eclipse: clean" não me ajuda, porque elimina todos esses arquivos de configuração novamente.

A melhor solução para mim foi excluir todos os arquivos ".classpath":

find . -name ".classpath" -delete

e importe o projeto para o eclipse posteriormente.


0

Antes de importar o projeto, ele deve ser convertido no eclipse project mvn eclipse: eclipse Então encontrei o seguinte erro. Ocorreu um erro interno durante: "Importando projetos do Maven" .Ulsupported IClasspathEntry kind = 4

Onde está o valor kind = "var" que o M2E não reconhece e, portanto, gera o erro.

Agora digite isso. mvn eclipse: clean

Agora atualize o projeto no eclipse ou reimporte.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.