我试图在另一台笔记本电脑上使用完全相同的文件重新运行我的 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
格式 : 或 :[:]:.可用的生命周期阶段是:验证、初始化、生成源、处理源、生成资源、处理资源、编译、处理类、生成测试源、处理测试源、生成测试资源、处理-test-resources, test-compile, process-test-classes, test, prepare-package, package, 预集成测试, 集成测试, 后集成测试, 验证, 安装, 部署, 预清理, 清理,清理后,站点前,站点,站点后,站点部署。 -> [帮助 1] [错误] [错误] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。 [错误] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。 [错误] [错误] 有关错误和可能的解决方案的更多信息,请阅读以下文章: [错误] [帮助 1] http://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException
我尝试了错误链接告诉我的所有内容,但没有任何效果。请问有什么解决办法吗?
最佳答案
尝试用双引号指定您的主类:
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 .
关于java - Maven 上未知的生命周期阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64299956/