Well, this just tells you that Maven has no idea what it should do. In general, you have the following options to perform build steps:

  1. Invoke a lifecycle phase, e.g.
    mvn install
    
    This runs the lifecycle phase install and all its predecessor phases like compile and test. Please see Introduction to the Build Lifecycle for more information about available lifecycle phases.
  2. Invoke a plugin goal via the plugin prefix, e.g.
    mvn compiler:compile
    
    Eventually, the plugin prefix translates to a group id and artifact id of a plugin. Maven resolves plugin prefixes by first looking at the plugins of the current project's POM and next by checking the metadata of user-defined plugin groups.
  3. Invoke a plugin goal via the versionless plugin coordinates, e.g.
    mvn org.apache.maven.plugins:maven-compiler-plugin:compile
    
    To resolve the plugin version, Maven will first check the project's POM and fallback to the latest release version of the plugin that was deployed to the configured plugin repositories.
  4. Invoke a plugin goal via the fully qualified plugin coordinates, e.g.
    mvn org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile
    

You can freely mix all of these styles within a single command line but you have to specify at least one goal/phase to get Maven going. Alternatively, you can define a default goal in your POM as shown below:

<project>
  ...
  <build>
    <defaultGoal>install</defaultGoal>
    ...
  </build>
  ...
</project>
  • No labels