Actually, you have it wrong, but I couldn't find any documentation stating this explicitly.
Those 4 properties are defined by the maven-antrun-plugin
and are not part of Maven itself. From Referencing the Maven Classpaths:
You can also use these classpath references:
maven.compile.classpath
maven.runtime.classpath
maven.test.classpath
maven.plugin.classpath
This plugin creates those 4 properties so that Ant tasks can refer to them. You'll find where those properties are created if you take a look at the source code, copied here for reference
Path p = new Path( antProject );
p.setPath( StringUtils.join( mavenProject.getCompileClasspathElements().iterator(), File.pathSeparator ) );
/* maven.dependency.classpath it's deprecated as it's equal to maven.compile.classpath */
antProject.addReference( "maven.dependency.classpath", p );
antProject.addReference( "maven.compile.classpath", p );
p = new Path( antProject );
p.setPath( StringUtils.join( mavenProject.getRuntimeClasspathElements().iterator(), File.pathSeparator ) );
antProject.addReference( "maven.runtime.classpath", p );
p = new Path( antProject );
p.setPath( StringUtils.join( mavenProject.getTestClasspathElements().iterator(), File.pathSeparator) );
antProject.addReference( "maven.test.classpath", p );
/* set maven.plugin.classpath with plugin dependencies */
antProject.addReference( "maven.plugin.classpath", getPathFromArtifacts( pluginArtifacts, antProject ) );
By analyzing this code, it is possible to conclude that:
maven.compile.classpath
corresponds to elements of the classpath that are of scope compile
.
maven.runtime.classpath
corresponds to elements of the classpath that are of scope runtime
.
maven.test.classpath
corresponds to elements of the classpath that are of scope test
.
maven.plugin.classpath
corresponds to the dependencies of the maven-antrun-plugin
itself.