Eu tenho meu JAVA_HOME definido para:
C:\Program Files (x86)\Java\jdk1.6.0_18
Depois de correr maven install
, recebo esta mensagem do Eclipse :
Razão:
Unable to locate the Javac Compiler in:
C:\Program Files (x86)\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.
Tenho certeza que essa é a parte complicada
Certifique-se de estar usando JDK 1.4 ou superior e não um JRE
Quando executo a configuração, ela é definida como JRE6. Como faço para alterá-lo para JDK 1.6 que já instalei?
Até tentei modificar o plugin:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<executable>C:\Program Files (x86)\Java\jdk1.6.0_18\bin</executable>
</configuration>
</plugin>
Ainda recebo o mesmo erro.
Eu uso o plugin Eclipse Maven. Como posso mudar de JRE para JDK no Eclipse?
set
comando para ter certeza de que JAVA_HOME está definido como você pensa que é?java -version .6.0_18-ea" time Environment (build 1.6.0_18-ea-b04) ) Client VM (build 16.0-b11, mixed mode, sharing)
java -version
está em execução; pode ser a instalação do JRE ou JDK.javac -version
seria um pouco mais útil. No entanto, mesmo assim, se PATH estiver correto e JAVA_HOME errado, eles ainda apareceriam como você esperaria.Respostas:
Você pode tentar atualizar o JDK que o Eclipse está usando, da seguinte maneira:
Adicione e defina o JRE no menu Janela → Preferências ... → Java → JREs instalados :
Se este não for o caso, é possível que os colchetes e espaços no caminho JAVA_HOME estejam causando problemas. Tente copiar seu JDK para um local diferente e atualizar seu JAVA_HOME.
fonte
O arquivo eclipse.ini precisa do
vm
argumento para apontar para a localização do JDK.Edite o
eclipse.ini
arquivo para apontar para sua casa JDK, algo como a seguir -Isso garante que o Eclipse seja executado fora do JDK e não qualquer JRE padrão em sua máquina.
fonte
Você tenta:
Vá para
Preferences/Java/Installed JREs
e adicione um para o local"C:\Program Files\Java\jdk1.6.0_27\jre
ou algo parecido.Remova aquele para
C:\Program Files\Java\jre6
Como você pode ver, o caminho
C:\Program Files\Java\jre6\..\lib\tools.jar
só faz sentido se a primeira parte (até o / ..) for substituída porC:\Program Files\Java\jdk1.6.0_27\jre
.fonte
Definir fork como true resolveu o problema para mim.
fonte
Eu tive exatamente o mesmo problema! Eu estive procurando e procurando por dias porque toda a tagarelice sobre "colocar o -vm c: \ arquivos de programas \ java \ jdkxxxxx \ bin" no ini ar como argumento para um atalho não ajudou em nada !
(Pareço frustrado? Acredite em mim, isso é um eufemismo! Estou simplesmente furioso porque perdi uma semana tentando tornar o Maven confiável!)
Tive um comportamento muito imprevisível. Às vezes é compilado e às vezes não. Se eu fizesse um
maven clean
, ele não conseguiria encontrar o compilador e falhou. Se eu alterei algo no caminho de construção, de repente funcionou novamente !!Até que fui ao menu Janela → Preferências → Java → JREs instalados . Eu adicionei um novo JRE usando a localização do JDK e, em seguida, removi o JRE. De repente, Maven ficou estável!
Talvez valha a pena colocar letras com tamanho de fonte 30 ou mais no manual do Apache?
Com todo o respeito, isso é simplesmente ultrajante para a comunidade Java! Não consigo imaginar quantos dias foram perdidos por todas essas pessoas tentando resolver seus problemas desse tipo! Não posso imaginar que isso seja lançado como uma versão final. Eu pessoalmente não ousaria lançar tal coisa sob o nome de software beta ...
Atenciosamente de qualquer maneira ... Depois de uma semana de adulteração, posso finalmente começar a desenvolver. Espero que meu chefe não descubra isso. Levei muito esforço para convencê-lo a não usar o .NET e já sinto muito por isso.
fonte
Eu tenho o mesmo problema ao usar Executar como -> instalação do Maven no Eclipse. JAVA_HOME e eclipse.ini estavam OK e apontando para meu JDK mais recente. Mas m2clipse usou JRE. Usar mvn install fora do Eclipse funcionou bem!
No meu caso, resolvi o problema da seguinte maneira:
Acho que o Maven não leva em consideração qual está ativo ...
fonte
Com base na compilação de fontes usando um JDK diferente , você terá que definir a bifurcação como true em seu arquivo pom.xml .
fonte
Acabo de instalar Maven 3.0.4, definir
M2_HOME
,M2
eJAVA_HOME
em conformidade. Em seguida, executei os seguintes comandos:mvn archetype:generate....
mvn compile
Eu me falhou mensagem, como:
maven unable to locate javac compiler
.No meu computador, tenho por padrão o JRE instalado em C: \ arquivos de programas \ java \ jre.1.6 . E eu tenho o outro C: \ java \ jdk1.6 e
JAVA_HOME
definido como C: \ java \ jdk1.6 .Não vi nada de errado com minha configuração. Depois de pesquisar, decidi pesquisar
mvn.bat
, ecoei%JAVA_HOME%
cada passo e ele foi exibido corretamente comoC:\java\jdk1.6
, mas quando executei o comandomvn --version
, ele exibiu Java home: C: \ program files \ java \ jre1.1.6 .Por fim, descobri que só preciso configurar
-Djava.home=c:\java\jdk1.6
conforme o comando abaixo, e está funcionando bem agora:%MAVEN_JAVA_EXE% %MAVEN_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Djava.home=%JAVA_HOME%" "-Dmaven.home=%M2_HOME%" %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
Nota: Isso é para
mvn
a linha de comando e não com o Eclipse.fonte
Resolvi o problema alterando o local do JRE instalado para o diretório presente no próprio JDK. Definir o valor adequado da
JAVA_HOME
variável de ambiente não resolveu o problema.No meu caso, existem dois diretórios
C:\Program Files\Java\jdk1.7.0_03 --> For JDK
C:\Program Files\Java\jre7 --> For JRE
Inicialmente configurei
C:\Program Files\Java\jre7
como JRE instalado no Eclipse e estava recebendo o mesmo erro no caso do Maven (o Ant estava funcionando bem).Alterando o JRE instalado para JRE
C:\Program Files\Java\jdk1.7.0_03\jre7
instalado no Eclipse, o problema é resolvido.fonte
Não se esqueça de que se você estiver executando seu projeto a partir de uma configuração Eclipse específica, você deve alterar o Java Runtime em 'Run Configurations' -> 'Your maven configuration' -> 'JRE tab' após adicionar o JDK correto ao suas preferências do Eclipse.
fonte
Parece que o Maven está usando o JRE, não o JDK. Talvez você tenha instalado o Maven antes de instalar o JDK?
Verifique os arquivos de configurações . Existem três no total: sistema, usuário e projeto. Provavelmente está na configuração de instalação ($ M2_HOME / conf / settings.xml) ou, possivelmente, na configuração por usuário ($ {user.dir} /. M2 / settings.xml).
fonte
Configuração do Eclipse apenas
Execute as seguintes etapas:
Clique com o botão direito em Propriedades do projeto Eclipse
Caminho de construção Java → Bibliotecas
Selecione Biblioteca do Sistema JRE → Clique no Editbotão
Clique no botão "JREs instalados ..."
Editar JRE como: Definir JRE Home = JAVA_HOME ou JAVA_HOME \ jre
Captura de tela:
fonte
Clique com o botão direito no menu Projeto → Propriedades → Caminho de construção Java .
Selecione o caminho do sistema JRE → Editar . Selecione o JRE Padrão da Área de Trabalho e aponte-o para JDK> 1.4.
fonte
Use o menu Janela → Preferências → Java → JREs instalados → Ambientes de execução -> clique na caixa de seleção à direita.
fonte
A solução é simples. Às vezes, o Eclipse Windows → Preferências → Java → JREs instalados apontando para
C:\Program files\Java\jre
.Quando mudei para
C:\Program files\Java\JDK 6.0\jre
ele funcionou 100%.fonte
Conforme mencionado por vários outros, a janela Eclipse → Preferências ... → Java → JREs instalados deve apontar para o JDK que você instalou, não para o JRE. Só então ele pode encontrar a
../lib
pasta mencionada na mensagem de erro.Mesmo assim, o problema pode se repetir. Minha saída no Eclipse v4.2 (Juno) é fazer um menu Maven → Atualizar projeto ... após o qual o problema desaparece.
Suspeito que o motivo seja que alguns dos arquivos gerados pelo Eclipse (.classpath, .project, .preferences) estão no Subversion para o projeto no qual estou tendo esses problemas. Portanto, uma atualização do SVN introduz o problema e uma atualização da configuração do Maven no Eclipse o resolve novamente.
Solução real: omita os arquivos gerados pelo Eclipse do controle de versão e deixe o plugin Maven Eclipse lidar com a configuração do projeto. (Dicas / sugestões adicionais são bem-vindas) .
fonte
No meu caso, no menu do Eclipse, Executar → Configurações de Depuração .
Na guia JRE, selecionar o JDK em vez do JRE resolveu o problema.
fonte
Eu tive o mesmo problema no Amazon Linux. Acontece que tive que instalar a versão do desenvolvedor do JDK:
fonte
Vá para o menu do Eclipse Janela → Preferências ... → Java → JREs instalados devem apontar para o JDK que você instalou, não para o JRE.
fonte
Você também pode certificar-se de que o Eclipse tenha todas as mudanças atualizadas. Para fazer isso, clique com o botão direito do mouse em seu projeto e pressione o item de menu "Atualizar".
fonte
Muitas outras respostas dizem para você apontar seu Eclipse para um JDK em vez de um JRE.
Aqui está outra resposta mais específica / clara [do que eu vi em qualquer resposta aqui] passo a passo sobre como fazer isso: Como você instala o JDK?
Isso é o que me resolveu para este mesmo problema.
fonte
Certifique-se de que o "-vm" em seu eclipse.ini esteja em duas linhas separadas, ou seja:
fonte
Eu diria que a localização do compilador é definida em um POM para o plug-in do compilador estar no local do JRE exibido, em vez do local do JDK para o qual você tem JAVA_HOME apontando.
fonte
<groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.6</source> <target>1.6</target>
Você precisa indicar
JAVA_HOME
emmvn.ini
(está na pasta Maven/bin
), e seu problema irá desaparecer.fonte
Se você definir o JAVA_HOME e o problema persistir, tente o seguinte.
(Tive o mesmo problema em um PC recém-instalado.)
Supondo que você esteja usando o Eclipse.
Isso é tudo. Seu projeto não sofrerá com esses problemas.
fonte
Eu tive o mesmo erro, por causa da versão JUnit . Eu tinha três 3.8.1 e mudei para 4.8.1.
Portanto, a solução é:
Você tem que ir ao POM e certificar-se de que sua dependência se parece com isto
fonte
Eu mudei a configuração do maven-compiler-plugin para add
executable
efork
com valor true.Funcionou para mim
fonte
Faça
Echo %JAVA_HOME%
e entãomvn --version
.O caminho do JRE deve ser o mesmo ... então vá ao menu Janela → Preferências → Java → A localização do JRE instalado deve ser a mesma que
Java_Home
está sendo exibida.fonte
Vá para a caixa de diálogo Propriedades e clique com o botão direito do mouse no projeto.
Em Recursos vinculados , adicione um novo caminho chamado JAVA_HOME e coloque em sua localização JDK, algo como "C: \ Arquivos de programas \ Java \ jdk1.8.0_73".
Isso é tudo!!
fonte
A solução para este problema é muito simples ...
Se você não tiver um arquivo de construção Ant , gere-o. No Eclipse, você pode criar facilmente um arquivo Ant .
Consulte o link para criar o arquivo de compilação Ant [ http://www.codejava.net/ides/eclipse/how-to-create-ant-build-file-for-existing-java-project-in-eclipse] .
Agora siga as etapas fornecidas:
1) Inclua seu arquivo de construção Ant na visualização Ant que está na janela de visualização.
2) clique com o botão direito no seu Ant arquivo de compilação do e selecione Executar como e a segunda opção nesse "Ant Build".
3) Agora, uma caixa de diálogo será aberta com várias opções e guias.
4) Selecione o JRE guia .
5) Você verá três botões de opção e eles terão JRE ou JDK selecionado como uma opção.
6) Observe com atenção se as opções do botão de rádio estão com o JRE selecionado e altere-o para JDK .
7) Clique em aplicar.
É isso aí...!!!
fonte