maven无法找到指定的路径

时间:2014-12-05 07:54:10

标签: java windows maven

我在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

我无法找到原因"系统无法找到指定的路径。"打印出来是因为这可能是我的项目无法建立的原因。

7 个答案:

答案 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)

赏金详情:

以下是mvn -v的输出: enter image description here

答案 3 :(得分:0)

在我的情况下,问题出在maven或java之外。

我通过遵循以下答案编辑正则表达式中的值来修复它:https://superuser.com/a/727323

引用答案:“

  • 打开注册表编辑器(按+ R,键入regedit,然后按Enter)。
  • 导航到HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor \ AutoRun并清除值。
  • 还要检查HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Command Processor \ AutoRun。

答案 4 :(得分:0)

mvn.bat中有一个前后脚本机制。 %HOME%\mavenrc_pre.bat%HOME%\mavenrc_post.bat文件。它们在maven可执行文件之前和之后执行。

您的路径中可能存在mavenrc_post.bat文件,并且其中包含mvn -v期间找不到的文件。

通常在公司机器上,当管理员在此处进行设置时,就会发生这种情况。

您可以通过两种方式对其进行验证:

  1. 设置MAVEN_BATCH_ECHO,如Robert Scholte(set MAVEN_BATCH_ECHO=on)所评论。这将回显批处理命令,因此您可以找出导致错误消息的命令。
  2. 您可以通过将MAVEN_SKIP_RC设置为任何内容(set MAVEN_SKIP_RC=true)来禁用rc之前和之后的执行。

注意mvn.bat对于%HOME%的位置比较棘手,因为它允许覆盖,但默认情况下为%HOMEDRIVE%%HOMEPATH%值。

答案 5 :(得分:0)

作为一种解决方法(并向前迈进),请尝试使用Maven Wrapper:

https://github.com/takari/maven-wrapper

mvnw.cmd clean install

答案 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