Maven 上未知的生命周期阶段

Unknown lifecycle phase on Maven

我试图在另一台笔记本电脑上用完全相同的文件重新运行我的 maven 项目。我用这个命令编译它:

mvn exec:java -Dexec.mainClass=id.tumbs.App

这在我为其做项目的笔记本电脑上有效,而在另一台笔记本电脑上抛出错误。错误代码为

[ERROR] Unknown lifecycle phase ".mainClass=id.tumbs.App". You must specify a valid lifecycle phase or a goal in the 

格式 : 或 :[:]:.可用的生命周期阶段是:验证、初始化、生成源、处理源、生成资源、处理资源、编译、处理-类、生成测试源、处理测试源、生成测试-resources,process-test-resources,test-compile,process-test-类,test,prepare-package,package,pre-integration-test,integration-test,post-integration-test 、验证、安装、部署、预清理、清理、post-清理、预站点、站点、post-站点、站点部署。 -> [帮助 1] [错误] [错误] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新 运行 Maven。 [ERROR] Re-运行 Maven 使用 -X 开关启用完整的调试日志记录。 [错误] [错误] 有关错误和可能的解决方案的更多信息,请阅读以下文章: [错误] [帮助 1] http://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException

我尝试了错误 link 告诉我的一切,但没有任何效果。请问有什么解决办法吗?

尝试在双引号中指定您的主要 class:

mvn exec:java -Dexec.mainClass="id.tumbs.App"

同样,您可以使用-Dexec.args="arg0 arg1"来传递参数。

如果您在 Windows,您需要为 exec.mainClass 和 exec.args:

添加引号
mvn exec:java -D"exec.mainClass"="id.tumbs.App"

如果您更频繁地执行此操作,则可以像这样将参数添加到 pom.xml 中:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.2.1</version>
  <executions>
    <execution>
      <goals>
        <goal>java</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <mainClass>id.tumbs.App</mainClass>
    <arguments>
      <argument>arg0</argument>
      <argument>arg1</argument>
    </arguments>
  </configuration>
</plugin>

如果您有兴趣了解更多详细信息,请查看 maven-exec-plugin