Erro do Maven: não foi possível localizar ou carregar a classe principal org.codehaus.plexus.classworlds.launcher.Launcher

136

Instalei uma versão mais recente maven-3.0.4no 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_HOMEvariá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.

manofsins
fonte
4
Apenas baixei o binário zip e ele estava quebrado. Substituído por .tar.gze funciona. Portanto, quando M2_HOMEestiver definido corretamente, tente verificar se o que você baixou está correto.
Pavel Horal
@PavelHoral o mesmo que aconteceu comigo
hoaphumanoid
Eu recebo esse erro apenas neste jenkins, via comando como mvn compile funcionando bem!
Nullpointer

Respostas:

141

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

Ian
fonte
26
O mesmo para mim em um mac. Certifique-se de excluir M2_HOME
Luke
Trabalhou com o binário Maven 3.3.3, no Ubuntu. JAVA_HOME não está definido.
TFuto
2
Isso funciona no Mac OS 10.10.5 com o maven instalado no brew (3.3.3).
Jeremiah
@ Luke Obrigado! unset M2_HOME.
Jared Burrows
5
Essa solução funciona, mas não pelas razões que você imagina. O problema, conforme indicado em alguns dos comentários do artigo mencionado, não é que M3_HOME seja necessário, mas que M2_HOME está definido incorretamente. Parece que M3_HOME não é usado, então basicamente o que está acontecendo é que o padrão é usado quando você exclui M2_HOME.
Matt
64

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

dirbacke
fonte
1
Na verdade, baixei a fonte de propósito , pois essa é a maneira tradicional de fazer as coisas, mas acidentalmente segui as instruções para a instalação binária. Apenas copiar o alcatrão binário era realmente mais fácil a longo prazo.
MDMoore313
+1: A mesma coisa aconteceu aqui - clicou acidentalmente no link de download errado. Não funciona que eu tenha o arquivo zip certo!
precisa
Isso resolveu sozinho o problema para mim - obrigado!
Liran H
Verdade. Baixou os arquivos de origem e tentou atualizar o M3_HOME, mas não funcionou. Os binários funcionam bem.
Rohit 03/03
Só tinha isso acontecido comigo. O site não está claro sobre o que usar.
Frodo2975
60

Eu estava tendo o mesmo problema e consegui resolvê-lo refazendo cuidadosamente as variáveis ​​de ambiente:

  • M2_HOME
  • M2
  • JAVA_HOME

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ê

echo %Path%

Certifique-se de ver completamente as variáveis% M2% e% JAVA_HOME% expandidas, ou seja:

C:\Users\afairchild>echo %Path%
C:\Program Files\Apache Software Foundation\apache-maven-3.0.4\bin;C:\Program Files\Java\jdk1.7.0_09\bin; [etc]
Alex Fairchild
fonte
M2_HOME é a primeira coisa a verificar se você está atualizando. JAVA_HOME deve permanecer inalterado.
Joe Leo
3
Como a M2variável de ambiente é usada? Eu só tenho JAVA_HOMEe M2_HOME.
Kevin Meredith
1
@KevinMeredith: A M2variá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 Maven mvn.batnã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.
Moreaki
@ Alex Eu recebo este erro apenas neste Jenkins, via comando como mvn compile funcionando bem!
Nullpointer
49

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:

export M2_HOME=/usr/share/maven
Joseph Lust
fonte
2
Funcionou para mim, mas com M2_HOME = / usr / share / maven2 (no caso de alguém tentar). Obrigado!
jimkont
1
No Ubuntu, melhor criar /etc/profile.d/maven.sh com o comando que apontou: export M2_HOME=/usr/share/maven. Como @jimkont apontou, às vezes é maven2 ou maven3 (se você instalou o maven3, é claro).
Rael Gugelmin Cunha
Funciona. Obrigado. Mas podemos apenas adicioná-lo ao arquivo / etc / environment?
precisa saber é o seguinte
35

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:

M2_HOME C: \ apache-maven-3.0.4 \ apache-maven \ src

insira a descrição da imagem aqui

saravp
fonte
Isso funcionou para mim. Siga o guia aqui: maven.apache.org/install.html e defina a variável PATH do sistema com C: \ apache-maven-3.6.3 \ bin
ChrisE
21

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.

jdmidtun
fonte
Obrigado consertou o meu também. No entanto, por que você não pode usar o download do src também, desde que ele contenha o executável correto no diretório bin?
Java123999
13

Bem, eu tive esse problema e depois de ver este post e particularmente a resposta khmarbaise, notei que M2_HOMEera

D:\workspace\apache-maven-3.1.0-bin\apache-maven-3.1.0\bin

e então eu pedi para

D:\workspace\apache-maven-3.1.0-bin\apache-maven-3.1.0

Gostaria de mencionar que eu uso o Windows 7 (x64)

Adelin
fonte
Eu recebo esse erro apenas neste jenkins, via comando como mvn compile funcionando bem!
Nullpointer
6

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.

JESii
fonte
4

Você deve alterar o local do M2_HOME para o seguinte:

set M2_HOME=C:\apache-maven-3.0.4\apache-maven

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.

khmarbaise
fonte
Obrigado, mas estou tendo jdk e jre. Você pode ver que eu forneci o JAVA_HOME como C: \ Arquivos de Programas \ Java \ jdk1.7.0_04. E se eu der o caminho para M2_HOME que você disse, o cmd nem reconhecerá o comando 'mvn'.
manofsins
Você altera o M2_HOME como eu descrevi, adicionará o% M2_HOME% \ bin ao seu caminho, o que é necessário para chamar o comando mvn.
precisa saber é o seguinte
4

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_profileparecia assim

export M2_HOME=/Users/xyz/maven-3.x/bin
export PATH=$PATH:$M2_HOME

e quando eu tentei echo M2_HOMEdo terminal, ele me mostrou o caminho correto, mas quando eu tentei disparar qualquer comando maven como mvn cleanou mvn install, sempre dava o mesmo problema

Não foi possível encontrar ou carregar a classe principal org.codehaus.plexus.classworlds.launcher.Launcher

Resolvi esse problema alterando meu M2_HOMEpara este

export M2_HOME=/Users/xyz/maven-3.x
export PATH=$PATH:$M2_HOME/bin

E pronto! Começou a trabalhar! Apenas movendo a posição de /binM2_HOME para a frente doPATH

Saif Asif
fonte
3

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.

Shaini Sinha
fonte
3

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:

  • Descompacte o arquivo correto (arquivo BINARY e não arquivo SOURCE)
  • Remova todas as variáveis ​​de usuário e sistema relacionadas ao Maven (por exemplo, M2_HOME, M2_OPTS etc.)
  • Verifique se a variável de sistema JAVA_HOME está configurada (por exemplo, "C: \ Arquivos de Programas \ Java \ jdk1.8.0_172")
  • Verifique se a localização do java bin foi adicionada na variável de sistema "path" (ex. "% JAVA_HOME% \ bin")
  • Verifique se a localização da maven bin foi adicionada na variável de sistema "path" (ex. "C: \ MyInstalls \ apache-maven-3.5.4 \ bin")

então...

  • Verifique se o java está configurado (em commandprompt: java -version)
  • Verifique se o maven está configurado (em commandprompt: mvn --version)
Sreekanth
fonte
2

Eu tive o mesmo problema. Tenho o Windows xp box e quando digitava mvn -versionno prompt da linha de comando recebia a temida mensagem de erro

"Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher"

Confirmei que minha M2_HOMEvariá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_HOMEvariá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 –versioncomando novamente, mas desta vez recuperei os resultados esperados.

C:\>mvn -version
Apache Maven 3.0.3 (r1075438; 2011-02-28 11:31:09-0600)
Maven home: C:\Program Files\apache-maven-3.0.3
Java version: 1.5.0_16, vendor: Sun Microsystems Inc.
Java home: C:\Java\jdk1.5.0_16\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows xp", version: "5.1", arch: "x86", family: "windows"

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í.

Lou
fonte
2

instalar a versão binária do maven corrige os problemas

apache-maven-3.6.1-bin.zip

Bharath Kumar
fonte
1

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

JAVA_HOME C:\Program Files\Java\jdk1.7.0_04 
Raghuram
fonte
Obrigado, mas infelizmente eu digitei errado aqui apenas e foi o mesmo que você disse, 'sem hífen'.
manofsins
1

Para outras pessoas que possam encontrar isso, não se esqueça de verificar as configurações ~ / .mavenrc para M2_HOME ou JAVA_HOME.

JBCP
fonte
1

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.

Shendor
fonte
1

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.

alternatives --config java

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
 + 2           /usr/java/jdk1.7.0_67/bin/java
wu liang
fonte
1

Parece que você instalou arquivos de origem (porque srcsó 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 . Isso funcionou para mim. E tenho certeza que também funcionará para você.

Hammad Hassan
fonte
1

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.

Mithril
fonte
Eu estava para publicar isto. Este é exatamente o problema que enfrentei. Se ao menos eu tivesse lido sua resposta antes, isso me salvaria 30 minutos.
Bartho Bernsmann
1

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.

Vinoth Kumar
fonte
1

Abra um novo terminal e faça o seguinte

M2_HOME=/Users/macbook/apache-maven-3.6.1 //Set where maven is
M2=$M2_HOME/bin                          //Set home as bin
export PATH=$M2:$PATH                   //Place the new path

Então digite

mvn -version

Você pode configurá-lo ./bash_profilepara fazê-lo automaticamente sempre que executar o terminal

Gastón Saillén
fonte
0

Exatamente o mesmo erro pode aparecer mesmo com as configurações corretas das variáveis ​​de ambiente, se você copiar o bindiretório ONLY para o diretório de instalação. Faz o whichtrabalho bem, e os novatos ficam presos.

dytori
fonte
0

Eu tive esse problema quando usei o Maven 3.5.4 no OpenJDK 11 no Ubuntu. O OpenJDK 11 no Ubuntu ainda é um JDK10:

$ ls -al /etc/alternatives/java
lrwxrwxrwx 1 root root 43 Aug 24 04:54 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java
$ java --version
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3, mixed mode)

Instalei o OpenJDK do Oracle no /opt/jdk-11.0.1 e execute o Maven desta maneira:

JAVA_HOME=/opt/jdk-11.0.1 mvn

Agora funciona como um encanto.

Christian Hujer
fonte
0

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.

Coolius
fonte
0

Para mim, por mais engraçado que pareça, ajudou a reiniciar eclipse...

som do membro
fonte
0

Isso funcionou para mim:

  1. Remova todas as referências Mavin em variáveis ​​de ambiente
  2. Faça o download do binário do mavin
  3. Descompacte-o no local desejado: ex: C: \ apache-maven-3.6.0
  4. Vá para Variáveis ​​de ambiente e adicione ao Sistema caminho da variável do "C: \ apache-maven-3.6.0 \ bin"
  5. Iniciar prompt de comando como administrador
  6. verifique a versão com: mvn -v

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 ..

Aberaitius
fonte
0

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

Venkata Rajeev
fonte
-1

Esse é um problema comum ao configurar o Maven. Tudo o que você precisa fazer é o seguinte: -

  1. M2_HOME: - D: \ apache-maven-2.0.11
  2. M2: - D: \ apache-maven-2.0.11 \ bin
  3. Caminho: - Anexe-o com;% M2%

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.

HMB
fonte
-1

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 .jars, interpretada por uma jvm ( java.exeno Windows, javano Linux).

O mvncomando, é um script. No Windows, é um script chamado mvn.cmde no linux, é um script de shell. Assim, se você escrever:, mvn installo que acontecerá:

  1. um intérprete de comando ( /bin/shou cmd.exe) é chamado para o script de chamada real
  2. esse script define as variáveis ​​de ambiente necessárias
  3. e, finalmente, chama um interpretador java com o caminho de classe necessário, que contém a funcionalidade maven.

O 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 -xflag ao seu interpretador de shell (o que é mais provável bash). No Windows, você precisa encontrar outra maneira de depurar um cmd.exescript. Então, em vez de mvn install, dê o comando bash -x mvn install.

O resultado será como:

+ '[' -z '' ']'
+ '[' -f /etc/mavenrc ']'
+ '[' -f /home/picsa/.mavenrc ']'
+ cygwin=true
+ darwin=false

... não tantas coisas ...

+ MAVEN_PROJECTBASEDIR='C:\peter\bin'
+ export MAVEN_PROJECTBASEDIR
+ MAVEN_CMD_LINE_ARGS=' '
+ export MAVEN_CMD_LINE_ARGS
+ exec '/cygdrive/c/Program Files/Java/jdk1.8.0_66/bin/java' -classpath 'C:\peter/boot/plexus-classworlds-*.jar' '-Dclassworlds.conf=C:\peter/bin/m2.conf' '-Dmaven.home=C:\peter' '-Dmaven.multiModuleProjectDirectory=C:\peter\bin' org.codehaus.plexus.classworlds.launcher.Launcher
Fehler: Hauptklasse org.codehaus.plexus.classworlds.launcher.Launcher konnte nicht gefunden oder geladen werden

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).

peterh - Restabelecer Monica
fonte