Estou compilando um projeto no Eclipse usando o m2eclipse. Defino o caminho JDK no Eclipse assim:
Windows-->preferences-->installed jres--> jdk1.7.xx path
Mas isso está mostrando um erro
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.424s
[INFO] Finished at: Tue Oct 29 15:21:01 IST 2013
[INFO] Final Memory: 5M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler- plugin:3.1:compile (default-compile) on project TEST-WEB: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
Respostas:
Além disso, pode ser necessário alterar o Maven JRE (consulte a resposta @ jlars62) da seguinte forma. Vá para Executar -> Executar configurações, selecionando o Maven Build que eu estava executando (no painel esquerdo). Em seguida, cliquei na guia JRE e selecionei a opção JRE padrão da área de trabalho
fonte
Para mim, é exatamente o que o maven do eclipse reclama
Então, pressiono o
Edit
botão e mudo o caminho para a pasta JDK, limpo o projeto e tudo começa a funcionarfonte
Installed JREs
pasta em vez de jdk. Mas realmente me resolveu o problema. ObrigadoJAVA_HOME
variável de ambiente para a pasta raiz do JDK - necessária se você executar a linha de comandos ou o maven (mvn
).JAVA_HOME
por mais informações)fonte
Para mim, nada funcionou até que eu fiz essa alteração no meu pom.xml:
Outras notas
Pude ver que o m2e estava sendo executado em um JRE, não no JDK. Nada do que fiz mudou isso, incluindo a inclusão no eclipse.ini:
No final, nunca consegui que o m2e fosse executado em um JDK, mas configurar explicitamente o compilador Java (como acima).
fonte
No meu caso, foi resolvido fazendo o seguinte:
Vá para sua 'Configuração de tempo de execução' e configure seu JRE para um JDK.
Copiei a resposta caso ela seja excluída por algum motivo, mas a fonte está aqui
fonte
Eu estava recebendo esse erro ao tentar fazer uma compilação maven a partir do eclipse.
Para mim, a resposta foi
Run
->Run Configurations
, selecionando o queMaven Build
eu estava executando (no painel esquerdo). Depois, cliquei naJRE
guia e selecionei a opçãoWorkspace default JRE
fonte
pode ser jre já está adicionado
e procure o JDK no meu caminho
C:\Program Files\Java\jdk1.8.0_111
você verá uma janela como esta
E você terminou.
fonte
Eu tenho o mesmo problema e apenas adiciono
JAVA_HOME
às variáveis de ambiente .JAVA_HOME
o prompt de comando aberto do diretório do projeto e executemvn clean install
(não use o terminal intellij).fonte
No entanto, tentei todas as opções acima, ainda recebendo a mesma mensagem de erro.
No meu caso, um JRE real foi usado incorretamente como JRE System Library no caminho de construção específico do projeto que obviamente estava substituindo todas as outras configurações discutidas aqui.
Nesse caso, tente o seguinte:
fonte
<build> <sourceDirectory>flockWebclient</sourceDirectory> <resources> <resource> <directory>resources</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
seu pom.xmlUma alternativa se a resposta do jaipster não funcionar é acessar:
Janela> Preferências> Java> JREs Instalados
Em seguida, edite o jre para que aponte para o jdk e não para o jre (a página inicial do jre arquivada no editor de pacotes jre)
Isso funcionou para mim.
fonte
Se você estiver executando o
Maven
comandocmd
, certifique-se de definir o caminho do jdk antes de executar o comando. No meu caso, eu criei um.bat
arquivo contendo o seguinte:fonte
Eu enfrentei o mesmo problema ao tentar criar um arquivo jar do meu aplicativo de projeto usando
mvn clean install
, embora o aplicativo estivesse funcionando bem durante a execução do Eclipse.O problema era, de fato, muito ingênuo, porque eu não havia definido a variável de ambiente JAVA_HOME . Tudo o que eu precisava fazer era definir a variável de ambiente JAVA_HOME como diretório JDK, verifique se não é até "\ bin" e sem ponto e vírgula ";" .
Como eu entendi é como:
O aplicativo funcionou bem no Eclipse, pois o JRE System Library estava se referindo ao JRE dentro da pasta JDK, em vez da pasta JRE externa sem o JDK. [Como explicado muito bem em outras respostas]
Essa configuração não se aplica ao comando maven que executamos no prompt de comando. Ele ainda procurará a variável JAVA_HOME para acessar a biblioteca do Sistema JRE e, quando não for encontrada, refere-se à pasta JRE externa sem o JDK.
fonte
Existem várias opções para especificar.
Etapas: Bem no projeto, no explorador de projetos Vá para Executar-> Executar configuração -> Clique em Maven Build -> Clique na sua configuração de compilação / ou crie uma nova configuração. Você verá a janela como o instantâneo fornecido abaixo, clique na guia JRE lá.
Você vê 3 opções: 1) JRE padrão da área de trabalho 2) Ambiente de execução 3) JRE alternativo 1) O JRE padrão da área de trabalho é definido no menu 'Janela' na parte superior -> Preferências -> Java -> JREs instalados - Aqui você pode adicionar seu jdk 2) Ambiente de execução O jdk pode ser definido no pom.xml, conforme mencionado por @ksnortum
3) O JRE alternativo pode ser usado para selecionar um jdk do seu diretório
fonte
Para mim, o JRE estava na variável de ambiente PATH antes do caminho do JDK
Então eu removi 1. Provavelmente, trocá-los também resolveria.
fonte
Minha resposta pertence ao ambiente Eclipse no Windows.
Eu fui para Preferências -> Java -> JREs instalados. NÃO vi o JDK aqui. Eu só vi o JRE aqui. Então, adicionei o JDK e desmarquei o JRE. Em seguida, verifiquei o JDK. Depois, executei o arquivo POM usando Configurações de Execução. Escolha a aba JRE e selecione a opção "Área de trabalho padrão ..." Aqui estão as imagens
fonte
Declaração do problema = Nenhum compilador é fornecido neste ambiente. Talvez você esteja executando um JRE em vez de um JDK? intellij
Solução
Defina a variável de ambiente como abaixo para resolver o problema
Nome da variável : JAVA_HOME
Valor da variável : C: \ Arquivos de programas \ Java \ jdk1.8.0_202
Nome da variável : M2_HOME
Valor da variável : C: \ Arquivos de Programas \ apache-maven-3.6.0
Além disso , adicione o caminho Java e maven em " Variáveis do sistema ", como abaixo:
C: \ Arquivos de programas \ Java \ jdk1.8.0_202 \ bin
C: \ Arquivos de programas \ apache-maven-3.6.0 \ bin
fonte
Há outra resposta possível para essa pergunta, e eu posso ser a única pessoa tola o suficiente para ter tropeçado nisso, mas acho que vale a pena acrescentar, pois nenhuma das outras respostas foi aplicada porque eu já tinha essas configurações corretas.
Quando você instala um JDK, o instalador pergunta onde você deseja instalar os arquivos. Por padrão, no Windows, é algo como C: \ Arquivos de Programas \ Java \ jdk1.8.0_74 (ou qualquer versão que você esteja instalando).
Em seguida, ele solicita um diretório para instalar o JRE, que por padrão é algo como C: \ Arquivos de Programas \ Java \ jre1.8.0_74.
Observe que um é o jdk 1.8.0_74 e o outro é o jre 1.8.0_74
Eu estava com pressa e, pensando que o instalador estava me fazendo a mesma pergunta duas vezes, defina meus locais de instalação do JDK e JRE como D: \ devtools \ jdk \ jdk1.8.0_74, resultando no instalador substituindo o JDK pelo JRE. Isso resultou em (entre outras coisas) um javac.exe ausente na minha bandeja do JDK e o mesmo erro que o OP relatou aqui em todas as minhas compilações de maven.
fonte
Eu tenho uma solução.
A solução mais comum para esse problema é alterar o local do jdk como meus JREs instalados em vez do local do JRE, mas isso não resolveu o meu problema desta vez.
Então eu fiz o abaixo para resolver o problema. Expanda a guia JREs instalados e você encontrará uma guia Ambientes de execução .
Clique no seu ambiente de execução favorito. No meu caso, foi o JAVASE-1.8 . Lá mostra 2 opções. JDK e JRE . Selecione JDK lá e o problema foi resolvido.
fonte
Acabei de perder 3 horas com esse problema até conseguir fazê-lo funcionar. Eu tive esse erro no Terminal Eclipse ao emitir um comando de compilação mvn:
Nenhum compilador é fornecido nesse ambiente. Talvez você esteja executando um JRE em vez de um JDK?
Então, li aqui que preciso criar uma nova variável de sistema chamada JAVA_HOME e apontá-la para a pasta de instalação do jdk. No entanto, isso gerou outro erro:
A opção de origem 1.5 não é mais suportada. Use 1.6 ou posterior
Não foi possível encontrar uma correção para este, então ...
Portanto, a solução para fazer tudo desaparecer é instalar o Java SE Development Kit 8! Eu estava usando 9 pensando que se é o mais recente deve ser melhor ...
De qualquer forma...
Instale o JDK8 a partir daqui: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Em seguida, defina o valor ambiental do sistema JAVA_HOME - tutorial aqui: https://docs.oracle.com/cd/E19509-01/820-3208/inst_cli_jdk_javahome_t/
Reinicie o Eclipse e divirta-se! (pelo menos foi o que eu fiz)
Esperando que isso poupe algum andarilho pobre de algum problema.
fonte
No meu caso, eu tinha o caminho da variável do sistema com a localização "C: \ ProgramData \ Oracle \ Java \ javapath".
No local "C: \ ProgramData \ Oracle \ Java \ javapath" java, javaw apenas lá. Então, eu estou recebendo o mesmo erro.
Depois que removi todos os arquivos da pasta "C: \ ProgramData \ Oracle \ Java \ javapath", meu erro foi resolvido.
fonte
Eu tentei a maioria das respostas sem sucesso. O que funcionou para mim foi (depois de seguir https://stackoverflow.com/a/21279068/2408893 ):
fonte
Embora a pergunta seja sobre o erro na
Eclipse
instalação, mas pensei que uma resposta para corrigir esse erro com aIntelliJ
instalação do Windows 10 também pode ser útil aqui.1 . Vá para
File
->Settings
->Build, Execution, Deployment
->Build Tools
->Maven
->Importing
2 . Definido
JDK
paraImporter
conforme mostrado abaixo paraJAVA_HOME
Também
JAVA_HOME
deve ser definido comoJDK
caminho em Variáveis de ambiente -> Variáveis do sistema e também deve ser adicionado%JAVA_HOME%\bin
às variáveis do sistema de caminhofonte
Eu enfrentei o mesmo problema, o erro que cometi foi adicionar o caminho jre apenas no caminho var, não o caminho jdk. Quando o caminho jdk foi adicionado ao caminho e criar o projeto maven, seu trabalho está perfeito.
fonte
Eu fiz a seguinte alteração e funcionou para mim. Espero que ajude alguém.
fonte
Tente isso.
fonte
Adicione nova definição de JRE (selecione o caminho JDK), funcionou para mim.
http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-add_new_jre.htm
fonte
Eu estava recebendo o mesmo erro quando criei uma nova instância do EC2 ubuntu 16.04 com o Java já instalado e enquanto executava o pacote mvn clean, encontrei esse problema e a solução abaixo funcionou para mim.
Se você estiver trabalhando em um servidor Ubuntu, poderá tentar instalar o Java novamente e, para isso, poderá usar esta resposta Como instalar o JDK no Ubuntu Linux
fonte
No Windows 7 - 64 bits, há um problema de permissões que impede o instalador de descompactar o arquivo C: \ Arquivos de Programas \ Java \ jdk1.6.xx \ lib \ tools.jar no seu local. Esse arquivo jar é usado pelo maven-compiler-plugin versão 3.x, em vez do javac usual
Solução: execute, como administrador, o instalador do Java JDK! E verifique se o tools.jar está em C: \ Arquivos de Programas \ Java \ jdk1.6.xx \ lib \
Caso esteja usando o plugin de integração m2e maven, você deseja ver o arquivo visível para o Eclipse através das seguintes etapas dentro do Eclipse:
Vá para Janela -> Preferências -> Java -> JREs instalados Selecione o JDK que você está usando (C: \ Arquivos de Programas \ Java \ jdk1.6.xx) Pressione Editar para ver a lista de jars, incluindo tools.jar, OU você pode adicione-o como Adicionar JAR externo. Em seguida, configure a execução do maven através destas etapas:
Executar-> Executar configurações-> Preencher Nome, Diretório Base e Metas. Na mesma janela, vá para a guia JRE e aponte para JDK \ jdk1.6.xx \
fonte
Além da resposta acima, eu poderia dizer que apenas tente executar o Maven a partir do terminal (fora do Eclipse). Dessa maneira, se for construído de fora, mas não no Eclipse, você poderá entender que o problema deve estar no Eclipse.
fonte
Existem várias respostas sobre esta pergunta, mas todas estão relacionadas à configuração do caminho correto do JDK, mas somente com o JRE podemos resolver esse problema.
Nós apenas precisamos usar o assembly de implantação para configurar o caminho do arquivo de guerra empacotado do Projeto Java EE e, em seguida, executar novamente a instalação maven.
Etapas para fazer uso do conjunto de implantação:
Clique com o botão direito do mouse no projeto Jave EE -> clique em Propriedades -> clique em Deployment Assembly
Clique no botão Adicionar -> Clique em Arquivos no Sistema de Arquivos -> Clique no próximo -> Clique em Adicionar -> Vá para o diretório .m2 \ respository e procure o arquivo de guerra gerado -> Selecionar arquivo de guerra -> Clique no botão Abrir -> Clique em Aplicar -> OK
Clique com o botão direito do mouse no projeto -> clique em Maven Install em Run As
Isso criará seu projeto com sucesso, sem nenhum erro do compilador.
Espero que isso resolva o problema sem o JDK.
fonte