61

我正在创建一个新的 Maven 项目,pom.xml如下所示:-

<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>

我面临的问题是没有生成目标战争文件。在我运行这个之后,在 Eclipse 控制台上,pom.xml我发现目标在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 项目。

感谢和问候,

4

11 回答 11

83

您指定的错误消息只是您没有指定 Maven 构建的目标。

您可以在运行配置中为 Maven 构建指定任何目标,例如清除、编译、安装、打包。

请按照以下步骤解决。

  1. 右键单击您的项目。
  2. 单击“运行方式”并选择“Maven 构建”
  3. 编辑配置窗口将打开。写下任何目标,但您的问题具体在目标文本框中写下“包”。
  4. 点击“运行”
于 2014-02-05T13:10:50.393 回答
28

我遇到了这个问题,因为我实际上想在 pom.xml 中定义一个默认目标。您可以在构建下定义一个默认目标:

<build>
    <defaultGoal>install</defaultGoal>
...
</build>

更改后,您可以简单地运行mvn它,它的作用与mvn install.

注意:我不赞成将此作为默认方法。我的用例是定义一个配置文件,该配置文件从 Artifactory 下载该项目的早期版本,并希望将该配置文件绑定到给定阶段。为方便起见,我可以运行mvn -Pdownload-jar -Dversion=0.0.9并且不需要在那里指定目标/阶段。我认为defaultGoal在配置文件中定义一个对特定阶段具有非常特定功能的配置文件是合理的。

于 2016-12-05T12:46:13.183 回答
15

您应该始终为您的 Maven 命令提供参数。通常这是生命周期之一。例如:

mvn package

包将创建罐子、战争、耳朵等。

有关更多阶段及其含义,请参阅:http ://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

于 2013-11-08T08:24:39.740 回答
9

1 .右键单击您的项目。
2 .单击“运行方式”并选择“Maven 构建”
3。编辑配置窗口将打开。
在目标4用户设置中写入任何目标,但您的问题特定写入“包” :例如显示您的 maven->directory->conf->settings.xml;C:\maven\conf\settings.xml

于 2014-08-04T18:34:54.733 回答
5
  1. 前往终端
  2. mvn clean install
于 2016-11-14T13:40:40.150 回答
5

添加目标,例如 -

 <build>
        <defaultGoal>install</defaultGoal>
        <!-- Source directory configuration -->
        <sourceDirectory>src</sourceDirectory>
</build>

这将解决问题

于 2018-10-26T20:34:58.587 回答
1

我偶然发现了这个异常,并发现我忘记添加一个 Main。
检查你是否public static void main(String[] args)正确。

祝你好运!

于 2019-05-22T13:11:10.090 回答
0

您需要在像 MAVEN_HOME 这样的全局设置下设置 maven 的路径

/用户/共享/行家

并确保工作台具有读、写和删除“777”的权限

于 2019-06-19T12:34:40.327 回答
0

运行构建后我面临同样的问题。

错误消息告诉我们指定您的目标

与构建目标相关的詹金斯问题

所以我指定了目标 Ex:-test。

现在运行良好

于 2019-03-16T04:51:58.747 回答
0

我遇到了这个错误消息,解决方案非常简单。它只是通过在我的 IntelijIdea 配置中指定一个工作目录并将一个目标指定为与“命令行参数”相对的参数来修复的。

于 2021-11-11T12:51:03.460 回答
0

我在尝试从命令行运行 spring boot 时遇到了这个问题......

mvn spring-boot:run

我不小心把命令输错了...

mvn spring-boot run

所以它正在寻找命令......运行,构建等......

于 2020-05-22T22:16:55.913 回答