mavenを使用したJavaはビルドできません:プログラム「cmd」を実行できません「不正な引数に引用符が埋め込まれています」


20

netbean 11.1の新規インストールがあります。現在、プロジェクトをビルドしようとしていますが、次のエラー出力が表示されます。

プログラム「cmd」を実行できません(ディレクトリ「C:\ projects \ open」内):不正な形式の引数に引用符が埋め込まれています:「C:\ Program Files \ 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

私は以前にこのプロジェクトをnetbeans 11.1でビルドしましたが、新しいPCを持っています。フレッシュインストール、前回すべてをインストールしようとしたときに問題がなかったと確信しています。

回答:


14

この問題はjdk1.8.0_221をインストールすることで解決できますが、実際にはJDKをダウングレードする必要はありません。これらを試してください:

  1. 最初にnetbeans IDEが開いている場合は終了し、次にnetbeans構成ファイルをここから開きます。
  2. 以下の引数を追加します
-J-Djdk.lang.Process.allowAmbiguousCommands=true
  1. この行にある文字列の先頭に:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m ......."

以下に示すスクリーンショットの例: 4.変更を保存し、netbeans IDEを起動します。ここに画像の説明を入力してください


これは受け入れられる答えであるはずです
ryvantage

うまくいきました。
ミゲルロドリゲス

53

https://www.oracle.com/technetwork/java/javase/13-0-1-relnotes-5592797.html#JDK-8221858でJDK 13.0.1のリリースノートを確認しました

この動作は、JDK-8221858(パブリックではない)のセキュリティ修正からの退行です。完全な説明については、リンクをクリックしてください。修正は、JDK 8u231、JDk 11.0.5、13.0.1などの一部です。

この問題を解決するには、追加-J-Djdk.lang.Process.allowAmbiguousCommands=trueするnetbeans_default_optionsには<netbeans-dir>\etc\netbeans.conf


1
Netbeans開発者は、この問題やその他の最近の問題レポートを取り上げ、最新の開発バージョン(11.2になります)にこの修正が適用されています。lists.apache.org/ thread.html /…を
Peter Hull

7

たまたま、Javaの最新の重要な更新をインストールしましたか?jdk 1.7_241?今日インストールしましたが、まったく同じ問題が発生していました。私は私のjdkバージョンをダウングレードし、それはそれを完全に解決しました。

編集:申し訳ありませんが、あなたはnetbeans 11.1を使用していることに気付いたので、おそらくより新しいJavaバージョンを持っています同じ問題。


2
jdk1.8.0_221のインストールで解決
busyBee

JDKのダウングレードは理想的なソリューションではありません。netbeans.confファイルの編集を含むより良いオプションは以下のとおりです。
ryvantage

5

私が書いている時点では、自分のマシンにインストールされているのはJDK13だけでした。ネットビーンズを解凍した後、ネットビーンズ11.1の内部mavenで同じ問題が発生しました。

どうやら、netbeans 11.1はJDK13では正しく動作しません。JDK 8をインストールしたところ、設定やパラメーターを変更することなく問題が解決しました。

それでも、JDK13が必要なので、両方をインストールしましたが、netbeans.confファイルがJDK8を指しています。後で、netbeansプロジェクト構成で新しいJavaプラットフォームを定義できます。

これがお役に立てば幸いです。

乾杯!


1
同じことがjdk-11.0.5にも当てはまります
busyBee

5

私はこのエラーを持っていたadopt8-hotspot (AdoptOpenJDK-1.8.0_232-b09)し、sbt-0.13.X古いプロジェクトのために。

Windowsで環境変数を設定した後に解決された問題

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

1

最近リリースされたすべてのjdkバージョン(少なくとも11.0.5と13.0.1)では、最新のNetbeans 11.2vc1(およびNB 11.1でも同様)でも発生するようです。jdkを11.0.4または13.0.0にダウングレードします。それは私のために問題を修正しました



0

Apache NetBeans 11.1は実際にJDK 13をサポートしていません。これが、次のApache NetBeans 11.2のサポート対象です-最新ベータ版:bit.ly/apache-netbeans-11-2-beta-3



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.