На самом деле, у вас есть это неправильно, но я не могу найти документацию, в которой говорится об этом явно.
Эти 4 свойства определены maven-antrun-plugin
и не являются частью самого Maven. От Referencing the Maven Classpaths:
Вы также можете использовать эти ссылки путь к классам:
maven.compile.classpath
maven.runtime.classpath
maven.test.classpath
maven.plugin.classpath
Этот плагин создает эти 4 свойства, чтобы задачи Ant могли ссылаться на них. Вы найдете, где созданы эти свойства, если вы посмотрите at the source code, скопированный здесь для справки
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));
Анализируя этот код, можно сделать вывод, что:
maven.compile.classpath
соответствует элементам классаpath, которые имеют область compile
.
maven.runtime.classpath
соответствует элементам классаpath, которые имеют область действия runtime
.
maven.test.classpath
соответствует элементам классаpath, которые имеют область test
.
maven.plugin.classpath
соответствует зависимостям самого maven-antrun-plugin
.