diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenJUnitPatcher.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenJUnitPatcher.java index 242e8172facc..113e21f9992e 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenJUnitPatcher.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenJUnitPatcher.java @@ -42,18 +42,30 @@ public class MavenJUnitPatcher extends JUnitPatcher { if (mavenProject == null) return; Element config = mavenProject.getPluginConfiguration("org.apache.maven.plugins", "maven-surefire-plugin"); + if (config == null) return; + List paths = MavenJDOMUtil.findChildrenValuesByPath(config, "additionalClasspathElements", "additionalClasspathElement"); - if (paths.isEmpty()) return; + if (paths.size() > 0) { + MavenDomProjectModel domModel = MavenDomUtil.getMavenDomProjectModel(module.getProject(), mavenProject.getFile()); - MavenDomProjectModel domModel = MavenDomUtil.getMavenDomProjectModel(module.getProject(), mavenProject.getFile()); + for (String path : paths) { + if (domModel != null) { + path = MavenPropertyResolver.resolve(path, domModel); + } - for (String path : paths) { - if (domModel != null) { - path = MavenPropertyResolver.resolve(path, domModel); + javaParameters.getClassPath().add(path); } + } - javaParameters.getClassPath().add(path); + Element systemPropertyVariables = config.getChild("systemPropertyVariables"); + if (systemPropertyVariables != null) { + for (Element element : (List)systemPropertyVariables.getChildren()) { + String propertyName = element.getName(); + String value = element.getValue(); + + javaParameters.getVMParametersList().addProperty(propertyName, value); + } } } }