我在Windows机器上使用maven构建项目时出现了一些问题,我发现即使是" mvn version"没有正确完成。它以&#34结束;系统找不到指定的路径"
D:\my_project\nl.esi.poosl.maven>mvn -v
Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T22:58:10+02:00)
Maven home: C:\apache-maven-3.2.3
Java version: 1.8.0_20, vendor: Oracle Corporation
Java home: C:\Java\jdk1.8.0_20\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"
The system cannot find the path specified.
D:\my_project\nl.esi.poosl.maven>
环境变量:
路径:%JAVA_HOME%\ bin;%M2%; C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319; D:\ sytemapps \ Python27;%M2%;%JAVA_HOME %/ bin中; C:\开发\的Android \ SDK \平台工具\;%GRADLE_HOME%\ bin中;%DEVKIT_HOME%\ bin中;%DEVKIT_HOME%\ mingw的\ BIN
JAVA_HOME: C:\爪哇\ jdk1.8.0_20
M2: %M2_HOME%\ bin中
M2_HOME: C:\ Apache的行家-3.2.3
我无法找到原因"系统无法找到指定的路径。"打印出来是因为这可能是我的项目无法建立的原因。
答案 0 :(得分:2)
您的%JAVA_HOME%指向JRE。 JRE通常没有javac。这可能是问题的根源吗?
除此之外,我的环境和你的环境一样,运行正常。
你的pom.xml是什么样的?
答案 1 :(得分:0)
%JAVA_HOME%\ bin中的%M2%强>; C:\的Windows \ Microsoft.NET \框架\ v4.0.30319; d:\ sytemapps \ Python27;%的 M2 强>%;%JAVA_HOME%/ bin中; C:\开发\的Android \ SDK \平台工具\;%GRADLE_HOME%\ bin中;%DEVKIT_HOME%\ bin中;%DEVKIT_HOME%\ mingw的\ BIN
更改为
%JAVA_HOME%\ bin中的%M2_HOME%强>; C:\的Windows \ Microsoft.NET \框架\ v4.0.30319; d:\ sytemapps \ Python27;%的 M2_HOME 强>%;%JAVA_HOME%/ bin中; C:\开发\的Android \ SDK \平台工具\;%GRADLE_HOME%\ bin中;%DEVKIT_HOME%\ bin中;%DEVKIT_HOME%\ mingw的\ BIN
问题可能是因为环境变量路径名。对于maven环境,varibale名称应为 M2_HOME 或 MAVEN_HOME (对于旧版本)
答案 2 :(得分:0)
答案 3 :(得分:0)
在我的情况下,问题出在maven或java之外。
我通过遵循以下答案编辑正则表达式中的值来修复它:https://superuser.com/a/727323
引用答案:“
”
答案 4 :(得分:0)
mvn.bat
中有一个前后脚本机制。
%HOME%\mavenrc_pre.bat
和%HOME%\mavenrc_post.bat
文件。它们在maven可执行文件之前和之后执行。
您的路径中可能存在mavenrc_post.bat
文件,并且其中包含mvn -v
期间找不到的文件。
通常在公司机器上,当管理员在此处进行设置时,就会发生这种情况。
您可以通过两种方式对其进行验证:
MAVEN_BATCH_ECHO
,如Robert Scholte(set MAVEN_BATCH_ECHO=on
)所评论。这将回显批处理命令,因此您可以找出导致错误消息的命令。MAVEN_SKIP_RC
设置为任何内容(set MAVEN_SKIP_RC=true
)来禁用rc之前和之后的执行。 注意:mvn.bat
对于%HOME%
的位置比较棘手,因为它允许覆盖,但默认情况下为%HOMEDRIVE%%HOMEPATH%
值。
答案 5 :(得分:0)
答案 6 :(得分:0)
如果您使用 Maven 开发 JavaFX 应用程序,则不必下载 JavaFX SDK。你可以在 pom.xml 中指定你想要的模块和版本。
<plugins>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.5</version>
<configuration>
<mainClass>HelloFX</mainClass>
</configuration>
</plugin>
</plugins>
将上述插件和依赖添加到pom文件中
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>15.0.1</version>
</dependency>
</dependencies>
无SDK,无路径设置。这个对我有用。 You may find further help in this open jfx documentation