Instalei uma versão mais recente maven-3.0.4
no Windows 7 :
Os detalhes da instalação são os seguintes:
Caminho da instalação:
C:\apache-maven-3.0.4
As variáveis de ambiente são:
M2_HOME C:\apache-maven-3.0.4\apache-maven\src
JAVA_HOME C:\Program Files\Java\jdk-1.7.0_04
As variáveis de caminho adicionadas são:
%M2_HOME%\bin;%JAVA_HOME%\bin;
Na janela de comando, mostra o seguinte:
C:\>java -version
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b22)
Java HotSpot(TM) Client VM (build 23.0-b21, mixed mode, sharing)
C:\>mvn -version
Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher
Esta é a única versão do maven instalada no meu PC e a solução fornecida em muitos blogs referente à exclusão da M2_HOME
variável de ambiente anterior não é válida.
Eu li e tentei todas as soluções fornecidas em blogs como:
mas ainda não é capaz de chegar lá. O que eu posso estar perdendo nessa coisa toda? Desde já, obrigado.
zip
e ele estava quebrado. Substituído por.tar.gz
e funciona. Portanto, quandoM2_HOME
estiver definido corretamente, tente verificar se o que você baixou está correto.Respostas:
Também encontrei esse problema e encontrei este artigo. Para o Maven3, alterar o nome da variável de ambiente de M2_HOME para M3_HOME fez o truque. Estou em um Mac executando o OSX 10.9 com o JDK 1.7. Espero que isto ajude.
Nota: Exclua M2_HOME, se já estiver definido. Por exemplo:
unset M2_HOME
fonte
unset M2_HOME
.Mesmo que a pergunta seja respondida, gostaria de acrescentar que, se você estiver recebendo o erro acima mencionado, verifique se baixou o arquivo binário .
O arquivo de origem deve ser baixado apenas se você for um usuário avançado e souber lidar com ele.
Tive uma grande quantidade de pessoas baixando o arquivo errado, idosos e juniores
fonte
Eu estava tendo o mesmo problema e consegui resolvê-lo refazendo cuidadosamente as variáveis de ambiente:
Além disso, criei todas elas Variáveis do sistema , não Variáveis do usuário, como as instruções do Maven dizem. Quando você
Certifique-se de ver completamente as variáveis% M2% e% JAVA_HOME% expandidas, ou seja:
fonte
M2
variável de ambiente é usada? Eu só tenhoJAVA_HOME
eM2_HOME
.M2
variável de ambiente às vezes é usada para indicar o%M2_HOME\bin%
caminho, que por sua vez é adicionado à%Path%
variável de ambiente. Isso é necessário quando o arquivo em lotes do Mavenmvn.bat
não pode ser encontrado nas%Path%
entradas padrão definidas. Um caso de uso típico seria um diretório de instalação não padrão para o Maven.Teve esse problema em duas instalações diferentes do Ubuntu 12.04, apesar das instalações serem feitas pelo apt-get. O problema foi M2_HOME.
Corrigido com:
fonte
export M2_HOME=/usr/share/maven
. Como @jimkont apontou, às vezes é maven2 ou maven3 (se você instalou o maven3, é claro).Acredito que esse erro foi causado por baixar o SRC em vez de BINARY no site do Maven. Certifique-se de baixar o zip binário.
Como o caminho abaixo, você receberá apenas quando fizer o download do SRC:
fonte
Parece que você instalou (extraiu) os arquivos de origem em vez dos binários com base nas informações do caminho. Tente instalar os binários e siga as outras respostas dos pôsteres.
fonte
Bem, eu tive esse problema e depois de ver este post e particularmente a resposta khmarbaise, notei que
M2_HOME
erae então eu pedi para
Gostaria de mencionar que eu uso o Windows 7 (x64)
fonte
A solução para versões posteriores do Maven é direta. Estou no OS X ElCap, 10.11.6 e atualizei para o Maven 3.3.9. Eu tive o mesmo problema com o erro "
Could not find ...org.codehaus.plexus...
". O link fornecido aqui ofereceu a solução em um comentário de McKamey - basta excluir M2_HOME (unset M2_HOME
). Depois que tentei, tudo funcionou como esperado.Isso pode ser confirmado visitando
Maven install page
: "Adicione o diretório bin do diretório criado apache-maven-3.3.9 à variável de ambiente PATH" - nenhuma menção a M2_HOME ou M3_HOME.fonte
Você deve alterar o local do M2_HOME para o seguinte:
Além disso, a instalação do JDK parece mais um JRE em vez de JDK. Para o Maven, você precisa do JDK e NÃO do JRE.
fonte
Me deparei com um problema semelhante no meu Mac OSX. Após uma série de tentativas de tentativa e erro, finalmente resolvi.
Meu
~/.bash_profile
parecia assime quando eu tentei
echo M2_HOME
do terminal, ele me mostrou o caminho correto, mas quando eu tentei disparar qualquer comando maven comomvn clean
oumvn install
, sempre dava o mesmo problemaResolvi esse problema alterando meu
M2_HOME
para esteE pronto! Começou a trabalhar! Apenas movendo a posição de
/bin
M2_HOME para a frente doPATH
fonte
Apenas certifique-se de ter baixado o arquivo zip binário (apache-maven-3.5.0-bin.zip) em vez do arquivo zip de origem. Em seguida, inclua o diretório bin do diretório criado apache-maven-3.5.0 na variável de ambiente PATH.
fonte
Para a maioria das configurações do Maven, algo como "Não foi possível encontrar ou carregar a classe principal ...", inicie as etapas abaixo para verificar se isso é corrigido:
então...
fonte
Eu tive o mesmo problema. Tenho o Windows xp box e quando digitava
mvn -version
no prompt da linha de comando recebia a temida mensagem de erroConfirmei que minha
M2_HOME
variável estava definida no caminho em que o Maven foi instalado no PC e que oecho %path%
confirmação de que Maven estava no meu caminho.Estou procurando uma solução há horas quando me deparei com a minha solução (digo a minha solução porque sei que essa provavelmente não será a solução para todos que estão recebendo o mesmo erro).
Copiei o caminho que foi atribuído à minha
M2_HOME
variável. Abri uma janela do cmd, digitei cd e colei o caminho que obtive do meuM2_HOME
variável. Naquele momento, eu sabia que o caminho estava correto porque o caminho era exibido na janela. Nesse ponto, digitei o comando dir e, para minha surpresa, recebi o erro Arquivo não encontrado.Eu fui para esse caminho via Explorer e com certeza havia arquivos presentes. Notei que as pastas estavam desbotadas, mas eu podia acessá-las e ver os arquivos em cada pasta (eu tenho direitos de administrador no meu pc). Examinei as propriedades da pasta pai do Maven e vi que a caixa Oculto estava marcada. Eu removi a verificação e apliquei e tentei meu comando dir novamente com êxito.
Em seguida, tentei o
mvn –version
comando novamente, mas desta vez recuperei os resultados esperados.Por fim, criei um arquivo jar e war e meu aplicativo Web foi executado com êxito no meu Tomcat local.
Espero que isso ajude alguns de vocês por aí.
fonte
instalar a versão binária do maven corrige os problemas
apache-maven-3.6.1-bin.zip
fonte
Além do que @khmarbaise apontou, acho que você digitou errado o seu JAVA_HOME. Se você instalou no local padrão, não deve haver "-" (hífen) entre jdk e 1.7.0_04. Então seria
fonte
Para outras pessoas que possam encontrar isso, não se esqueça de verificar as configurações ~ / .mavenrc para M2_HOME ou JAVA_HOME.
fonte
Tente baixar o zip binário (por exemplo, o Maven 3.0.5 (zip binário)) em vez da fonte completa no site oficial do maven. Verifique também se a linha de comando reconhece os comandos java e javac. Notei que o zip do Maven Source não incluía nenhuma biblioteca na pasta lib, no entanto, o zip binário os tinha + na pasta de inicialização, tinha o plexus-classworlds-2.4.jar. Talvez o problema estivesse com a ausência dessas bibliotecas. De qualquer forma, isso me ajudou, então meu M2_HOME é: C: \ Arquivos de Programas \ Java \ apache-maven-3.0.5 e no PATH eu coloquei: C: \ Arquivos de Programas \ Java \ apache-maven-3.0.5 \ bin.
fonte
Acho que esse problema no meu centOS é causado por "Oracle Java é substituído por gcj". Após alterar o java padrão para "Oracle Java", o problema é resolvido.
fonte
Parece que você instalou arquivos de origem (porque
src
só vem em arquivos de origem e não precisamos dele). Tente instalar os arquivos binários a partir daí . E, em seguida, defina as variáveis de ambiente conforme descrito lá . Isso funcionou para mim. E tenho certeza que também funcionará para você.fonte
Eu acho que você baixou a versão errada. Conheço esse problema agora, nenhum método funciona depois de pesquisar e pesquisar. Finalmente, descobri que o arquivo baixado é o arquivo zip do Source . Depois de mudar para o arquivo zip binário , tudo ficará bem.
fonte
Eu também enfrentou o mesmo problema. Mas, no meu caso, usei a pasta apache-maven-3.3.3-src nas variáveis de caminho. Mais tarde, corrigi aqueles com o caminho correto da pasta apache-maven-3.3.3-bin. Isso resolveu o problema. Não estou dizendo que é o mesmo erro relatado aqui, mas desta forma também você pode obter esse erro e corrigi-lo. É isso que estou tentando dizer aqui.
fonte
Abra um novo terminal e faça o seguinte
Então digite
Você pode configurá-lo
./bash_profile
para fazê-lo automaticamente sempre que executar o terminalfonte
Exatamente o mesmo erro pode aparecer mesmo com as configurações corretas das variáveis de ambiente, se você copiar o
bin
diretório ONLY para o diretório de instalação. Faz owhich
trabalho bem, e os novatos ficam presos.fonte
Eu tive esse problema quando usei o Maven 3.5.4 no OpenJDK 11 no Ubuntu. O OpenJDK 11 no Ubuntu ainda é um JDK10:
Instalei o OpenJDK do Oracle no /opt/jdk-11.0.1 e execute o Maven desta maneira:
Agora funciona como um encanto.
fonte
Eu tive um problema com o plugin surefire em si. Voltando à versão 2.6 funcionou para mim. A versão 2.18 / 20 / 22.1 me deu o erro. Agora eu tentei a versão 3.0.0-M1 do plugin surefire e funciona.
Portanto, algo está errado no plgin certo entre a versão 2.6 e 3.0.0. Presumo que haja algo codificado como padrão que não deveria.
fonte
Para mim, por mais engraçado que pareça, ajudou a reiniciar
eclipse
...fonte
Isso funcionou para mim:
Resultado do CMD:
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20: 41: 47 + 02: 00) Página inicial do Maven: C: \ apache-maven-3.6.0 \ bin ..
fonte
Também enfrentei o seguinte erro no meu sistema (Mac)
Erro: não foi possível localizar ou carregar a classe principal org.codehaus.plexus.classworlds.launcher.Launcher
Depois de fazer uma navegação aleatória, me deparei com o link " http://maven.apache.org/install.html " que diz que "JAVA_HOME" deve ser definido como "/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/ Conteúdo / Home / jre ".
Quando alterei "JAVA_HOME", como indicado acima em ".bash_profile", o comando "mvn" começou a funcionar, mas o comando "javac -version" parou de funcionar.
Quando digitei o comando "javac -version", recebi o seguinte erro
Não foi possível localizar um executável em "/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/bin/javac" (-1)
Portanto, revirei meu "JAVA_HOME" para "/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home" em ".bash_profile" e adicionei a seguinte linha na parte superior no script "mvn"
exportar JAVA_HOME = / Biblioteca / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Conteúdo / Home / jre
Agora, os comandos "mvn" e "javac" funcionaram corretamente, mas após uma observação cuidadosa do script mvn, não consegui fazer a diferença entre os seguintes comandos
/ Library / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Conteúdo / Página inicial / bin / java -classpath /Users/venkatarajeevmandava/Documents/Maven/apache-maven-3.6.1/boot/plexus-classworlds-2.6.0. jar -Dclassworlds.conf = / Usuários / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / bin / m2.conf -Dmaven.home = / Usuários / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 - Dlibrary.jansi.path = / Usuários / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / lib / jansi-native -Dmaven.multiModuleProjectDirectory = / Usuários / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / bin org.codehaus.plexus.classworlds.launcher.Launcher
/ Biblioteca / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Conteúdo / Página inicial / jre / bin / java -classpath /Users/venkatarajeevmandava/Documents/Maven/apache-maven-3.6.1/boot/plexus-classworlds-2.6. 0.jar -Dclassworlds.conf = / Usuários / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / bin / m2.conf -Dmaven.home = / Usuários / venkatarajeevmandava / Documents / Maven / apache-maven-3.6. 1 -Dlibrary.jansi.path = / Usuários / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / lib / jansi-native -Dmaven.multiModuleProjectDirectory = / Usuários / venkatarajeevmandava / Documents / Maven / apache-maven-3.6. 1 / bin org.codehaus.plexus.classworlds.launcher.Launcher
No acima, o primeiro comando causou o seguinte erro
Erro: não foi possível localizar ou carregar a classe principal org.codehaus.plexus.classworlds.launcher.Launcher
enquanto o segundo comando funcionou bem. Observe que os dois caminhos acima têm o comando "java", enquanto um é do "jre" e o outro é do "jdk"
Outras variáveis globais são as seguintes em ".bash_profile"
exportar M2_HOME = / Usuários / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1
exportar PATH = $ PATH: $ M2_HOME / bin
fonte
Esse é um problema comum ao configurar o Maven. Tudo o que você precisa fazer é o seguinte: -
M2_HOME & M2: - precisam ser declarados como variáveis do sistema e não como variáveis USER / ADMIN.
Caminho: - Pode ser a variável do sistema OU a variável USER / ADMIN [PATH]. De preferência variável do sistema.
Depois de definir cuidadosamente essas 3 variáveis, você pode verificar a instalação do Maven como abaixo.
No prompt do CMD: -
C: \ Documentos e configurações \ ADMIN> mvn --version
Resultado :-
Apache Maven 2.0.11 (r909250; 12-02-2010 11: 25: 50 + 0530) Versão Java: 1.6.0_22 Página inicial do Java: C: \ Arquivos de Programas \ Java \ jdk1.6.0_22 \ jre Localidade padrão: en_US, plataforma codificação: Cp1252 Nome do sistema operacional: "windows xp" versão: "5.1" arco: "x86" Família: "windows"
Obrigado.
fonte
Ao lado das respostas talvez úteis, mas talvez muito sintomáticas, aqui está uma que tenta ajudar a encontrar a causa do problema.
Maven é uma ferramenta java da linha de comando. Isso significa que não é um binário independente, é uma coleção de java
.jar
s, interpretada por uma jvm (java.exe
no Windows,java
no Linux).O
mvn
comando, é um script. No Windows, é um script chamadomvn.cmd
e no linux, é um script de shell. Assim, se você escrever:,mvn install
o que acontecerá:/bin/sh
oucmd.exe
) é chamado para o script de chamada realO problema está em (2). Felizmente, esse script é simplesmente, muito simples. Para um programador java, não deve ser um grande problema depurar um script em torno de 20 linhas, mesmo que seja uma linguagem um pouco estranha.
No linux, você pode depurar shellscripts dando a
-x
flag ao seu interpretador de shell (o que é mais provávelbash
). No Windows, você precisa encontrar outra maneira de depurar umcmd.exe
script. Então, em vez demvn install
, dê o comandobash -x mvn install
.O resultado será como:
... não tantas coisas ...
No final, você pode testar facilmente qual variável de ambiente está com problemas e pode facilmente corrigir seu script (ou configurá-lo conforme necessário).
fonte