[RESOLVIDO] Erro ao compilar pelo eclipse usando maven

Bom dia,
estou criando esse post, pois já não mais o que fazer.

Estou com um projeto que utiliza o maven.
Ele estava funcionando normal em um dia… mas no outro dia (sexta-feira passada) já começou a apresentar um erro persistente.

Quando tento dar um “MAVEN INSTALL” no projeto, é gerado a seguinte mensagem:


[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] Unable to locate the Javac Compiler in:
C:\Arquivos de programas\Java\jre6…\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.328s
[INFO] Finished at: Mon Apr 04 11:15:43 GMT-03:00 2011
[INFO] Final Memory: 4M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project PortalContestacao: Compilation failure
[ERROR] Unable to locate the Javac Compiler in:
[ERROR] C:\Arquivos de programas\Java\jre6…\lib\tools.jar
[ERROR] Please ensure you are using JDK 1.4 or above and
[ERROR] not a JRE (the com.sun.tools.javac.Main class is required).
[ERROR] In most cases you can change the location of your Java
[ERROR] installation by setting the JAVA_HOME environment variable.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Se alguem puder me ajuda, já não mais o que fazer. Já reconfigurei as variáveis de ambiente inúmeras vezes, já desinstalei o JDK 6 e instalei várias vezes, já exclui todo o projeto e montei ele novamente importando de uma SVN e erro persiste.

Minhas variáveis de ambiente estão configuradas da seguinte forma:

JAVA_HOME = C:\Arquivos de programas\Java\jdk1.6.0_21
CLASSPATH = .;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib
PATH = %PATH%;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

Help… =/

Obrigado pela atenção!

Att,

Davidson.

Desculpem o transtorno. Consegui resolver.

Para quem esta com o mesmo problema, faça o seguinte.

O maven esta procurando o tools.jar que se encontra no diretorio do jdk e nao do jre.
Basta ir em WINDOW -> PREFERENCES -> JAVA -> INSTALED JREs. Adicione uma nova configuração, porém altere o diretório para o JDK (exemplo C:\Arquivos de programas\Java\jdk1.6.0_21) ao invés de deixar apontando para o diretorio do JRE (C:\Arquivos de programas\Java\jre6).

No meu caso resolveu, pois no diretorio lib do JRE não possui a tools.jar e no diretorio lib do jdk possui.

Obrigado.

2 curtidas

Estou com um problema parecido,
preciso de uma biblioteca do JDK, a ‘tools.jar’,
só que uso o ubuntu, e não tenho certeza q estou no
e o diretorio q eu axo q está (nao tenho certeza, foi por aki
que encontrei o javac e biblioteca que preciso) o JDK é:
“/usr/lib/jvm/java-6-sun-1.6.0.15” que possue os diretorios:
bin, ext, jre, include, lib, man, src.zip

ai quando dou um maven install ele reclama:

:!:'Could not find artifact sun.jdk:tools:jar:1.6.0 at specified path /usr/lib/jvm/java-6-sun/jre/bin/java/lib/tools.jar'

Preciso dessa biblioteca pq um plugin que uso necessita dela …

Agradeço muito a ajuda …

LuanPontes,

na verdade essa biblioteca “tools.jar” ja se encontra no diretório do java.
O que acontece é que as vezes o seu projeto esta procurando essa biblioteca no lugar errado.
Verifique nos seus diretórios onde esta essa biblioteca.
Normalmente ela deve estar em um desses diretórios:
“…\jdk1.6.0_21\lib\tools.jar” ou
“…\Java\jre6\lib\tools.jar”.

Agora faça o seguinte.

NO ECLIPSE:
Vá em “WINDOW” -> “PREFERENCES” -> “JAVA” -> “INSTALED JREs”.
Tem uma lista ai, normalmente com um atributo apenas.
Caso o que esteja ai, não esteja especificando para o caminho que vc confirmou a existência do tools.jar, adicione ele no botao “Add…”.

POR EXEMPLO:
Vc verificou que o tools.jar esta no caminho “…\jdk1.6.0_21\lib\tools.jar” e o caminho que esta especificado no “INSTALED JREs” esta apontando para “…\Java\jre6\lib\tools.jar”. Nesse caso vá no botão “Add…” e adicione um novo atributo com o caminho correto.

Após essa configuração, faça o seguinte:

Clique com o botão direito no seu projeto e vá em “Build Path” --> “Configure Build Path…”.
NA LISTA, selecione “JRE System Library” e clique no botao “Edit…”.

Selecione a opção “Workspace default JRE (…)” e clique em “Finish”.

Dê um “Clear” com o Maven e depois dê um “Install” com o Maven.

OBS: SE VC NÃO ENCONTRAR O TOOLS EM NENHUM DIRETÓRIO, INSTALE O JAVA JDK NOVAMENTE.

Espero que tenha ficado claro.

Abs.

4 curtidas

Obrigado companheiro pela consideração …

Isso que vc falou eu ja tinha consiência …
Veja o que eu presumi :

O erro na verdade erra, na minha variável JAVA_HOME que apontava para o binario java na
pasta ‘bin’, quando corretamente deve apontar para o diretório geral do JDK. Por alguma
razão o mave concatena o valor de $JAVA_HOME com o local onde a biblioteca estar no JDK.

POr isso ocorria o erro:

:!: Could not find artifact sun.jdk:tools:jar:1.6.0 at specified path /usr/lib/jvm/java-6-sun/jre/bin/java/lib/tools.jar' 

:idea: Observe que ele procura no valor de JAVA_HOME (usr/lib/jvm/java-6-sun/jre/bin/java)  + diretorio onde a biblioteca deveria estar no JDK (lib/tools.jar);

:arrow: ai eu so mudei o valor de JAVA_HOME para: ‘/usr/lib/jvm/java-6-sun’, e pronto!

mas mesmo assim, valeu!
= )

[quote=LordLink]Desculpem o transtorno. Consegui resolver.

Para quem esta com o mesmo problema, faça o seguinte.

O maven esta procurando o tools.jar que se encontra no diretorio do jdk e nao do jre.
Basta ir em WINDOW -> PREFERENCES -> JAVA -> INSTALED JREs. Adicione uma nova configuração, porém altere o diretório para o JDK (exemplo C:\Arquivos de programas\Java\jdk1.6.0_21) ao invés de deixar apontando para o diretorio do JRE (C:\Arquivos de programas\Java\jre6).

No meu caso resolveu, pois no diretorio lib do JRE não possui a tools.jar e no diretorio lib do jdk possui.

Obrigado.[/quote]

:thumbup:

[quote=LordLink]Desculpem o transtorno. Consegui resolver.

Para quem esta com o mesmo problema, faça o seguinte.

O maven esta procurando o tools.jar que se encontra no diretorio do jdk e nao do jre.
Basta ir em WINDOW -> PREFERENCES -> JAVA -> INSTALED JREs. Adicione uma nova configuração, porém altere o diretório para o JDK (exemplo C:\Arquivos de programas\Java\jdk1.6.0_21) ao invés de deixar apontando para o diretorio do JRE (C:\Arquivos de programas\Java\jre6).

No meu caso resolveu, pois no diretorio lib do JRE não possui a tools.jar e no diretorio lib do jdk possui.

Obrigado.[/quote]

Sei que estou ressuscitando o post, mas obrigado, me ajudou demais :slight_smile:

O problema ocorre devido o programa não encontrar o diretório do java correto.
Dentro do diretório “c:\program files\java”, tem ate 3 diretórios, ao configurar na variável de ambiente JAVA_HOME adicione um dos 3 diretórios.

Uma forma simples de resolver o problema inicial é copiar o jar que esta na pasta JDK para a pasta do JRE

Funcionou !! Muito obrigado!! Parabéns !!