在 pom.xml 中指定目标
Posted
技术标签:
【中文标题】在 pom.xml 中指定目标【英文标题】:specifying goal in pom.xml 【发布时间】:2013-11-20 02:27:33 【问题描述】:我正在使用pom.xml
创建一个新的 maven 项目,如下所示:-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>firstRestlet</groupId>
<artifactId>restlet1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>restlet1</name>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>maven-restlet</id>
<name>Public online Restlet repository</name>
<url>http://maven.restlet.org</url>
</repository>
</repositories>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
我面临的问题是没有生成目标战争文件。
在我运行这个pom.xml
之后,在eclipse 控制台上我发现pom.xml
中缺少目标。
ECLIPSE 控制台消息:
No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
[ERROR]
请告诉我如何在pom.xml
中指定目标。
还告诉我如何使用 maven 作为构建工具来创建 RESTLET 项目。
感谢和问候,
【问题讨论】:
请告诉我们您正在运行什么命令以及控制台上的输出是什么。 在运行配置中指定目标为install
【参考方案1】:
您指定的错误消息只是您没有指定 maven 构建的目标。
您可以在 Maven 构建的运行配置中指定任何目标,例如清除、编译、安装、打包。
请按照以下步骤解决。
-
右键单击您的项目。
点击“运行方式”并选择“Maven 构建”
编辑配置窗口将打开。写下任何目标,但具体问题在目标文本框中写下“包”。
点击“运行”
【讨论】:
这确实对我有用,但错误消息及其修复似乎如此模糊和不必要 如何在 pom.xml 中添加目标,使其在 Eclipse 的“运行方式”选项中可用。例如:使验证目标可用(Maven 验证)。 好问题。我现在看不到选项但我会检查它并在这里评论它。谢谢 在“配置文件”文本字段中输入什么?【参考方案2】:我遇到了这个问题,因为我实际上想在 pom.xml 中定义一个默认目标。您可以在构建下定义一个默认目标:
<build>
<defaultGoal>install</defaultGoal>
...
</build>
更改后,您可以简单地运行 mvn
,它的作用与 mvn install
完全相同。
注意:我不赞成将此作为默认方法。我的用例是定义一个配置文件,该配置文件从 Artifactory 下载该项目的早期版本,并希望将该配置文件绑定到给定阶段。为方便起见,我可以运行mvn -Pdownload-jar -Dversion=0.0.9
并且不需要在那里指定目标/阶段。我认为在配置文件中定义defaultGoal
是合理的,该配置文件对特定阶段具有非常特定的功能。
【讨论】:
【参考方案3】:你应该总是给你的 maven 命令一个参数。通常这是生命周期之一。例如:
mvn package
包将创建罐子、战争、耳朵等。
有关更多阶段及其含义,请参阅:http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
【讨论】:
【参考方案4】:1.右键单击您的项目。2.单击“运行方式”并选择“Maven Build”3强>。编辑配置窗口将打开。在目标4 用户设置中写入任何目标,但具体问题写入“包”:显示您的 maven->directory->conf->settings.xml 例如; C:\maven\conf\settings.xml
【讨论】:
【参考方案5】:-
前往航站楼
做
mvn clean install
【讨论】:
优秀的答案。 但是如果我想调试到断点怎么办?【参考方案6】:添加目标,例如 -
<build>
<defaultGoal>install</defaultGoal>
<!-- Source directory configuration -->
<sourceDirectory>src</sourceDirectory>
</build>
这将解决问题
【讨论】:
【参考方案7】:我偶然发现了这个异常,发现我忘记添加一个 Main。
检查您的public static void main(String[] args)
是否正确。
祝你好运!
【讨论】:
【参考方案8】:运行构建后我面临同样的问题。
错误信息告诉我们指定你的目标
所以我指定了目标 Ex:-test。
现在一切正常
【讨论】:
【参考方案9】:需要在全局设置下设置maven的路径 喜欢 MAVEN_HOME
/user/share/maven
并确保工作台具有读、写和删除权限 “777”
【讨论】:
【参考方案10】:我在尝试从命令行运行 spring boot 时遇到了这个问题...
mvn spring-boot:run
我不小心把命令打错了...
mvn spring-boot run
所以它正在寻找命令...运行、构建等...
【讨论】:
【参考方案11】:我遇到过此错误消息,解决方案非常简单。它只是通过在我的 IntelijIdea 配置中指定一个工作目录并将一个目标指定为与“命令行参数”相对的参数来修复的。
【讨论】:
以上是关于在 pom.xml 中指定目标的主要内容,如果未能解决你的问题,请参考以下文章
如何让 readyapi(以前称为 soapui)尊重我在 pom.xml 中指定的值?