Maven Coordinates: groupId, artifactId, version

http://maven.apache.org/pom.html#Maven_Coordinates

dot syntax

  • the . is not required, but is used as a place holder for the path's folder delimiter an is used to physically place the package in the maven repo
    • '\' in WIndows
    • '/' in Linux

groupId

  • normally the organization or company developing the software
    • com.uc
    • org.apache.maven

artifactId

  • the project name

version

  • distinguishes different version of the same project
  • Install a dependency locally
mvn install:install-file -Dfile=non-maven-proj.jar -DgroupId=some.group -DartiactId=non-maven-proj -Dversion=1 -Dpackaging=jar

classifier

  • arbitrary string that is appended to the artifact after version number
  • used for
  • supporting two different JREs
  • packaging sources and javadoc separately

type

  • the chosen dependency type

 


scope

compile

  • default scope is none specified
  • available in all classpaths
  • propagated to dependent projects

provided

  • not required for compilation, but required at runtime
  • classpaths include:  runtime, test
  • not available in the compile classpath

runtime

  • not required for compilation
  • required for runtime
  • classpaths include: runtime, test

test

  • not required for normal use of the application
  • only available for the test compilation & execution phases
  • not transitive

system

  • explicit reference to a JAR
  • always available and not looked up in a repository