在 pom 中指定目标.xml

2022-08-31 15:19:23

我正在创建一个新的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控制台上,我发现..i.中缺少目标。pom.xmlpom.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项目。

感谢和问候,


答案 1

您指定的错误消息什么都没有,但您没有指定 maven 构建的目标。

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

请按照以下步骤解决它。

  1. 右键单击您的项目。
  2. 单击“运行方式”,然后选择“Maven Build”
  3. 将会打开“编辑配置”窗口。编写任何目标,但您的问题特定在目标文本框中写入“包”。
  4. 点击“运行”

答案 2

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

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

更改后,您可以简单地运行,这将执行与 完全相同的操作。mvnmvn install

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


推荐