Java com maven não iria construir: Não é possível executar o programa “cmd” “Argumento mal formado incorporou aspas”


20

Eu tenho uma nova instalação do netbean 11.1. Agora estou tentando criar um projeto, mas recebo a seguinte saída de erro:

Não é possível executar o programa "cmd" (no diretório "C: \ projects \ open"): O argumento malformado incorporou uma citação: "C: \ Arquivos de Programas \ NetBeans-11.1 \ netbeans \ java \ maven \ bin \ mvn.cmd"

cd C:\projects\open; "JAVA_HOME=C:\\Program Files\\Java\\jdk-11.0.5" cmd /c "\"\"C:\\Program Files\\NetBeans-11.1\\netbeans\\java\\maven\\bin\\mvn.cmd\" -DskipTests=true -Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans-11.1\\netbeans\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 clean install\"" Cannot run program "cmd" (in directory "C:\projects\open"): Malformed argument has embedded quote: "C:\Program Files\NetBeans-11.1\netbeans\java\maven\bin\mvn.cmd" -DskipTests=true -Dmaven.ext.class.path="C:\Program Files\NetBeans-11.1\netbeans\java\maven-nblib\netbeans-eventspy.jar" -Dfile.encoding=UTF-8 clean install

Eu construí este projeto com o netbeans 11.1 antes, mas tenho um novo pc. e uma nova instalação, embora tenha certeza de que não houve nenhum problema da última vez que tentei instalar tudo.

Respostas:


14

Embora esse problema possa ser resolvido com a instalação do jdk1.8.0_221, na verdade você não precisa fazer o downgrade do seu JDK. Apenas tente estes:

  1. Primeiro, saia do Netbeans IDE, se estiver aberto, e abra o arquivo de configuração do netbeans a partir daqui: netbeans-Install-Dir / etc / netbeans.conf (Observação: para mim, netbeans-Install-Dir é C: \ Arquivos de programas \ NetBeans 8.2 \ etc)
  2. Adicione os argumentos abaixo
-J-Djdk.lang.Process.allowAmbiguousCommands=true
  1. até o início da string que você encontra nesta linha:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m ......."

Exemplo de captura de tela, como mostrado abaixo: 4. Salve a alteração e inicie o seu netbeans IDE.insira a descrição da imagem aqui


Esta deve ser a resposta aceita
ryvantage 26/02

funciona, muito obrigado!
Miguel Rodríguez

53

Verifiquei as notas de versão do JDK 13.0.1 em https://www.oracle.com/technetwork/java/javase/13-0-1-relnotes-5592797.html#JDK-8221858

Esse comportamento é uma regressão de uma correção de segurança para JDK-8221858 (não público). Siga o link para uma descrição completa. A correção faz parte do JDK 8u231, JDk 11.0.5, 13.0.1 etc.

Para resolver esse problema, anexar -J-Djdk.lang.Process.allowAmbiguousCommands=truea netbeans_default_optionsem <netbeans-dir>\etc\netbeans.conf.


11
Os desenvolvedores Netbeans ter apanhado sobre este e outros relatórios de problemas recentes e a última versão de desenvolvimento (que será 11.2) tem essa correção aplicada, consulte lists.apache.org/thread.html/...
Peter Hull

7

Por acaso, você instalou a atualização crítica mais recente para java? jdk 1.7_241? Instalei isso hoje e estava tendo exatamente o mesmo problema. Eu rebaixei minha versão do jdk e ela a resolveu completamente.

EDIT: Desculpas, notei que você está usando o netbeans 11.1, portanto, provavelmente você tem uma versão java posterior, em qualquer caso, você pode tentar fazer o downgrade da sua versão java para uma versão anterior, se atualizá-la hoje, pois a outra versão pode ter o mesmo problema.


2
instalar jdk1.8.0_221 resolvido
BusyBee

Fazer o downgrade do JDK não é uma solução ideal. Uma opção melhor que envolve a edição do arquivo netbeans.conf está abaixo.
ryvantage 26/02

5

No momento em que estou escrevendo, eu tinha apenas o JDK13 instalado apenas na minha máquina. Depois de descompactar meu netbeans, eu tenho o mesmo problema com o maven interno do meu netbeans 11.1.

Aparentemente, o netbeans 11.1 não funciona corretamente com o JDK13. Acabei de instalar o JDK 8 e o problema agora está resolvido, sem nenhuma configuração adicional ou alteração de parâmetro.

No entanto, como preciso do JDK13, os dois foram instalados, mas meu arquivo netbeans.conf está apontando para o JDK8. Posteriormente, você pode definir a nova plataforma Java na configuração do projeto netbeans.

Espero que isso possa ajudar.

Felicidades!


11
O mesmo vale para o jdk-11.0.5
busyBee

5

Eu tive esse erro com adopt8-hotspot (AdoptOpenJDK-1.8.0_232-b09)e sbt-0.13.Xpara um projeto antigo.

Problema resolvido após definir a variável de ambiente no Windows via

set JAVA_TOOL_OPTIONS=-Djdk.lang.Process.allowAmbiguousCommands=true

1

Parece acontecer com toda a versão jdk lançada recentemente (11.0.5 e 13.0.1 pelo menos), mesmo com o Netbeans 11.2vc1 mais recente (e testemunhado no NB 11.1 também). Faça o downgrade do seu jdk para 11.0.4 ou 13.0.0. Corrigiu o problema para mim



0

O Apache NetBeans 11.1 não suporta o JDK 13, é para isso que serve o Apache NetBeans 11.2 - versão beta mais recente: bit.ly/apache-netbeans-11-2-beta-3



0

basta adicionar -J-Djdk.lang.Process.allowAmbiguousCommands = true para netbeans_default_options no netbeans.conf

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.