66

I am creating a new maven project with pom.xml as below:-

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

The problem which i am facing is that target war file is not getting generated. On eclipse console after i ran this pom.xml what i found was goals missing in pom.xml.

ECLIPSE CONSOLE MESSAGE:

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] 

Please tell me how to specify goals in pom.xml.

Also tell me how to create RESTLET project using maven as build tool.

Thanks & Regards,

Scientist
  • 1,458
  • 2
  • 15
  • 31

12 Answers12

86

The error message which you specified is nothing but you are not specifying goal for maven build.

you can specify any goal in your run configuration for maven build like clear, compile, install, package.

please following below step to resolve it.

  1. right click on your project.
  2. click 'Run as' and select 'Maven Build'
  3. edit Configuration window will open. write any goal but your problem specific write 'package' in Goal text box.
  4. click on 'Run'
Narendra Rabari
  • 918
  • 6
  • 10
31

I've bumped into this question because I actually wanted to define a default goal in pom.xml. You can define a default goal under build:

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

After that change, you can then simply run mvn which will do exactly the same as mvn install.

Note: I don't favor this as a default approach. My use case was to define a profile that downloaded a previous version of that project from Artifactory and wanted to tie that profile to a given phase. For convenience, I can run mvn -Pdownload-jar -Dversion=0.0.9 and don't need to specify a goal/phase there. I think it's reasonable to define a defaultGoal in a profile which has a very specific function for a particular phase.

joao cenoura
  • 1,155
  • 2
  • 14
  • 20
16

You should always give an argument to your maven command. Normally this is one of the lifecycles. For example:

mvn package

Package will create jars, wars, ears etc.

For more phases and their meaning, see: http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

Wouter
  • 3,976
  • 2
  • 31
  • 50
9

1.right click on your project.
2.click 'Run as' and select 'Maven Build'
3. edit Configuration window will open. write any goal but your problem specific write 'package' in Goal
4 user settings: show your maven->directory->conf->settings.xml for example; C:\maven\conf\settings.xml

Vahap Gencdal
  • 1,900
  • 18
  • 17
5
  1. Go to Terminal
  2. Do mvn clean install
Vojtech Ruzicka
  • 16,384
  • 15
  • 63
  • 66
timy kurian
  • 51
  • 1
  • 2
5

Add the goal like -

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

This will solve the issue

Sidharth Taneja
  • 548
  • 6
  • 7
1

I stumbled upon this exception, and found out that I forgot to add a Main.
Check out if you have public static void main(String[] args) correctly.

Good luck!

taras
  • 6,566
  • 10
  • 39
  • 50
1

just add the below lines to your pom.xml

<build>
    <defaultGoal>package</defaultGoal>
</build>
0

I am facing same Issue after run my build.

The error message tell us to specify your goal

Jenkins Issue related to goal for build

So I specify the goal Ex:-test.

Now It's running fine

Siong Thye Goh
  • 3,518
  • 10
  • 23
  • 31
0

You need to set the path of maven under Global setting like

MAVEN_HOME

/user/share/maven

and make sure the workbench have permission of read, write and delete "777"

desertnaut
  • 57,590
  • 26
  • 140
  • 166
Sarvjeets
  • 11
  • 2
0

I ran into this when trying to run spring boot from the command line...

mvn spring-boot:run

I accidentally mis-typed the command as...

mvn spring-boot run

So it was looking for the commands... run, build etc...

Natus Drew
  • 1,876
  • 1
  • 21
  • 23
0

I've faced with this error message and solution was pretty simple. It was just fixed by specifying a working directory at my IntelijIdea configuration and specifying a goal as the paramameter opposite 'Command-line param'.

alexis_dia
  • 156
  • 3
  • 13