Maven构建目标需要指定

26

我提取了一个Struts 2项目样例,并且它有maven pom.xml文件。我已经在eclipse上安装了m2e插件。但是当我右键点击pom.xml文件并选择Maven Build时,会出现以下错误。

此构建未指定目标。您必须指定有效的生命周期阶段或格式为:



:的目标。
可用的生命周期阶段为:
验证、初始化、生成源码、处理源码、生成资源、处理资源、编译、处理类、生成测试源码、处理测试源码、生成测试资源、处理测试资源、测试编译、处理测试类、测试、准备打包、打包、预集成测试、集成测试、后集成测试、验证、安装、部署、预站点、站点、后站点、站点部署、预清理、清理、后清理。 -> [Help 1]

当我在单击Maven构建时,在m2e窗口中需要指定什么目标?

4个回答

36

你可以通过右键单击你的项目或者.pom文件,在弹出菜单中选择Run as,然后选择Maven build...。在目标字段中写入package并点击Run来构建一个maven项目。

对应的快捷键是Alt+Ctrl+X,然后按下m键 - 这将会带你到同样的对话框中。

结果可能是你的项目子目录target中的一个.war文件。


27
在你的Eclipse中,选择Run(运行)--> Run Configurations(运行配置)--> 在左侧你将看到"Maven Build"(Maven构建)。在右侧的goals(目标)选项卡中,请输入你的目标。例如:-Dmaven.tomcat.port=8080 tomcat:run

点赞了:这个目标在 tomcat 上的 8080 端口上启动了 maven web 应用程序,这正是我想要做的。 - fjxx
3
这应该被标记为答案,因为它提供了正确的解决方案来回答原帖所问的问题。 - yeaske
2
绝对应该被接受作为答案,因为它直接解决了问题。 - tanou

16
在“运行配置”对话框(“主”选项卡)的“目标”字段中,您可以输入以下任何一个Maven阶段:
  1. validate - 验证项目是否正确,并且所有必要的信息都可用
  2. compile - 编译项目的源代码
  3. test - 使用适当的单元测试框架测试已编译的源代码。这些测试不需要将代码打包或部署 package - 将编译的代码打包为其可分发的格式,例如JAR。
  4. integration-test - 如果需要,处理和部署包到可以运行集成测试的环境中
  5. verify - 运行任何检查以验证包是有效的并满足质量标准
  6. install - 将包安装到本地存储库中,以便作为其他项目在本地使用的依赖项
  7. deploy - 在集成或发布环境中完成,将最终包复制到远程存储库以与其他开发人员和项目共享
来源:Maven Build中未知生命周期阶段错误

1

在测试上述解决方案后,我找到了正确的解决方法。

(1) 确保环境变量设置正确(M2_HOME=C:\Program Files\Apache Software Foundation\apache-maven-3.3.3)。

M2=%M2_HOME%\bin)(https://www.tutorialspoint.com/maven/maven_environment_setup.htm)

(2) 以管理员身份打开命令提示符

(3) 切换到您的工作区目录 (cd/workspace/project folder)

(4) 最后 (自定义)

mvn archetype:generate -DgroupId=fr.myGroupId -DartifactId=MyApplication -Dpackagename=fr.myGroupId -DarchetypeArtifactId=maven-archetype-quickstart .


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接