无法在Netbeans 8.2中创建Maven Web项目

时间:2019-10-20 14:16:11

标签: java maven netbeans-8.2

我最近安装了netbeans 8.2,但我一直尝试创建一个maven web project,但出现此错误。

Cannot run program "cmd" (in directory "C:\Users\Administrator\Documents\NetBeansProjects"): 
Malformed argument has embedded quote: "C:\opt\apache-maven-3.6.2\bin\mvn.cmd" 
-DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=webapp-javaee7 
-DarchetypeVersion=1.1 -DarchetypeRepository=http://repo.maven.apache.org/maven2 
-DgroupId=com.dilini -DartifactId=mavenproject1 -Dversion=1.0-SNAPSHOT -Dpackage=com.dilini.mavenproject1 
-Dbasedir=C:\Users\Administrator\Documents\NetBeansProjects -Darchetype.interactive=false 
-Dmaven.ext.class.path="C:\Program Files\NetBeans 8.2\java\maven-nblib\netbeans-eventspy.jar" 
--batch-mode archetype:generate

我更新了netbeans中的java ee插件,我将settings.xml添加到了从maven软件包复制的C:\Users\Administrator\.m2位置。

但是似乎没有任何效果。
请帮助

2 个答案:

答案 0 :(得分:1)

最后找到了答案,我将Java版本从jdk1.8.0_231降级到jdk1.8.0_221

现在一切正常。 希望这会帮助某人。

答案 1 :(得分:1)

这是由JDK的最近更改引起的。有关更多信息,请参见this question。尽管问题与JDK11有关,但对JDK8进行了相同的更改,并且应用了相同的解决方案(实际上是一种变通方法)。

编辑netbeans.conf(您将在etc下的netbeans目录中找到它),将-J-Djdk.lang.Process.allowAmbiguousCommands=true添加到netbeans_default_options键中。您可以使用记事本进行编辑,但是您可能需要以管理员身份进行编辑,具体取决于安装NB的方式。

例如,我的样子:

# JDK 11 made GTK 3 default on Linux. Unfortunately it makes
# NetBeans ugly on Linux with the default GTK+ Look and Feel,
# as a workaround -J-Djdk.gtk.version=2.2 has been added to the 
# default command line arguments.
# (see: https://issues.apache.org/jira/browse/NETBEANS-1344)
#
netbeans_default_options="-J-Djdk.lang.Process.allowAmbiguousCommands=true -J-XX:+UseStringDeduplication -J-Xss2m -J-Djdk.gtk.version=2.2 -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dplugin.manager.check.updates=false -J-Dnetbeans.extbrowser.manual_chrome_plugin_install=yes -J--add-opens=java.base/java.net=ALL-UNNAMED -J--add-opens=java.base/java.lang.ref=ALL-UNNAMED -J--add-opens=java.base/java.lang=ALL-UNNAMED -J--add-opens=java.base/java.security=ALL-UNNAMED -J--add-opens=java.base/java.util=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.text=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing=ALL-UNNAMED -J--add-opens=java.desktop/java.awt=ALL-UNNAMED -J--add-opens=java.desktop/java.awt.event=ALL-UNNAMED -J--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED -J--add-opens=jdk.jshell/jdk.jshell=ALL-UNNAMED -J--add-modules=jdk.jshell -J--add-exports=java.desktop/sun.awt=ALL-UNNAMED -J--add-exports=java.desktop/java.awt.peer=ALL-UNNAMED -J--add-exports=java.desktop/com.sun.beans.editors=ALL-UNNAMED -J--add-exports=java.desktop/sun.swing=ALL-UNNAMED -J--add-exports=java.desktop/sun.awt.im=ALL-UNNAMED -J--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED -J--add-exports=java.management/sun.management=ALL-UNNAMED -J--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED -J--add-exports=jdk.javadoc/com.sun.tools.javadoc.main=ALL-UNNAMED -J-XX:+IgnoreUnrecognizedVMOptions"

感谢@Sephiroth提供答案。