无法执行目标Maven版本:准备


69

运行mvn release:prepare时遇到问题。我有以下消息:

[ERROR] Failed to execute goal org.apache.maven.plugins: maven-release-plugin: 2.5.1: prepare (default-cli) on project marketplace-po
c: Failed to invoke Maven build. Error configuring command-line. Reason: Maven executable not found at: C: \ dev \ apache-maven-3.3.1 \
bin \ mvn.bat -> [Help 1]

看来您的Maven安装不正确,这意味着您的mvn二进制文件不在您的路径中。
khmarbaise

3
我的行家一切正常,只有插件版本无效。在我的路径中只有mvn.bat mvn.cmd
user3137501

请接受您问题的答案。卢卡斯的答案是真正的解决方案,而不是一些肮脏的解决方法。
9ilsdx 9rvj 0lo

Answers:


106

从版本开始3.3.X,Maven重命名mvn.batmvn.cmd。在maven-release-plugin版本中已修复2.5.2MRELEASE-902

他们建议添加以下部分,以防未自动获取固定插件版本:

  <build>
    <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.5.1</version>
          <dependencies>
            <dependency>
              <groupId>org.apache.maven.shared</groupId>
              <artifactId>maven-invoker</artifactId>
              <version>2.2</version>
            </dependency>
          </dependencies>
        </plugin>
    </plugins>
  </build>

1
虽然“将mvn.cmd复制到mvn.bat”也是我的第一个想法,并且很可能会奏效,但实际上这样会更清洁一些。
Wivani 2015年

在2.5.2或2.5.1中修复?
Wuaner

@Wuaner,它在回答中说:这在maven-release-plugin版本2.5.2中已得到解决
Lucas

我看到...如果发布插件版本低于2.5.2,则必须将maven-invoker的版本指定为2.2,如您的代码所示。
Wuaner

工作完美。谢谢!
Ryan_D

32

从eclipse运行时,我只是遇到了同样的问题,它通过 copy of mvn.cmd to mvn.bat

它为我工作。


1
这是一种解决方法,但它将起作用。卢卡斯建议的是更正确的解决方案。
vegemite4me 2016-09-14

为我工作ON MAC
Sacky圣

1

在Windows 8.1中使用Maven 3.3.1时,我也遇到了同样的问题。我搜索了它,发现它mvn.bat移至mvn.cmd。不过,我不知道该如何解决该版本。因此,我下载了Maven 3.2.5,并找到了mvn.bat文件。它为我工作。


0

已修复,我在安装maven 3.5.0时遇到了同样的问题,因此只需复制mvn.cmd并将其重命名为C:\ Program Files \ apache-maven-3.5.0 \ bin下的mvn.bat。


1
‐1。您在此问题上所做的与其他三个答案完全相同。
冰冻豌豆的罗迪(Roddy of Frozen Peas)

@RoddyoftheFrozenPeas对不起,请忽略我的回答
Rahul k

@Rahulk您知道您可以删除答案吗?
Guillaume Georges '18

Guillaume Georges-我认为不会伤害任何人。享受
Rahul k
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.