Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在同一台PC上配置maven3.1.1和maven3.6.0_Windows_Maven_System Paths - Fatal编程技术网

Windows 在同一台PC上配置maven3.1.1和maven3.6.0

Windows 在同一台PC上配置maven3.1.1和maven3.6.0,windows,maven,system-paths,Windows,Maven,System Paths,出于某些原因,我不得不在我的windows PC上使用两个不同的maven版本。 我已经安装了maven 3.6.0,运行良好 现在我想安装maven3.1.1并像这样运行它,例如: 3.1.1 mvnOld clean install 3.6.0 mvn clean install 因此,我确实在我的windows系统路径中添加了3.1.1的bin文件夹,并在同一文件夹中重命名了文件以匹配mvnOld 由于某些原因,在打开新CMD时,mvnOld仍然是一个未知命令 我错过了什么?还有更好

出于某些原因,我不得不在我的windows PC上使用两个不同的maven版本。 我已经安装了maven 3.6.0,运行良好

现在我想安装maven3.1.1并像这样运行它,例如:

3.1.1

mvnOld clean install
3.6.0

mvn clean install
因此,我确实在我的windows系统路径中添加了3.1.1的bin文件夹,并在同一文件夹中重命名了文件以匹配mvnOld

由于某些原因,在打开新CMD时,
mvnOld
仍然是一个未知命令

我错过了什么?还有更好的办法吗


附言:在那些文件中使用了$M2_HOME,我确实用$M2_OLD_HOME替换了它,它在我的3.1.1文件夹中指出

你的方法非常脆弱

我知道问题所在:为了构建Nexus2.x插件,您只能使用Maven 3.0.4或Maven 3.0.5

我没有将旧Maven放到路径上,而是使用Eclipse解决了这个问题:对于Nexus插件项目,我设置了旧Maven

如果需要使用命令行,只需使用旧Maven的完整限定名即可

  • 删除Win系统变量M2_HOME

  • 不要将两个版本的maven文件放在同一个文件夹中,也不要重命名该文件

  • 编辑apache-maven-3.1.1\bin\mvn.cmd:在“开始验证”之前添加M2\u HOME

    设置M2_HOME=D:\apache-maven-3.1.1

  • 以同样的方式编辑apach-maven-3.6.0 mvn.cmd

  • 运行它,给出完整的路径

    D:\apache-maven-3.1.1\bin\mvn--版本 D:\apache-maven-3.6.0\bin\mvn--版本


  • 路径上只能有其中一个。通过
    M2\u HOME
    分离将不起作用,因为它不受支持…为什么需要不同的Maven版本?为什么不只使用Maven 3.6.0?我必须构建一个旧项目,公司严格要求我使用Maven 3.1.1而不是3.6.0。。。但是是的,我想它可以与3.6.0一起工作,但是让我们保持原来的问题。所以它不能以任何方式工作?所以每次我想从3.6.0切换到3.1.1时,我都必须更改我的系统变量。这可能是正确的选择:我没有想过用Eclipse构建它,它应该在我的情况下工作!当您说全名时,您的意思是使用anyPath/maven3.1.1/bin/mvn clean install(例如)调用命令?是的。在Eclipse中,您可以使用“RunAs->Maven build…”,然后从列表中选择Maven(如果缺少,您需要先添加它)。Eclipse解决方案正在工作,但对于完整的限定名称,我不理解它如何与Windows一起工作。首先在mvn文件中,您可以看到它正在读取M2_HOME变量,因此我们应该将其更改为正确的文件夹。而且它不是一个可执行文件,那么如何运行它呢?你能为命令行部分添加一些细节吗?反正我会验证你的答案,因为使用Eclipse对我来说是有效的。但是我不理解命令行部分,在Maven中,
    mvn.cmd
    是一个可执行的命令。您可以运行它,给出完整的路径。