One issue that occurred to me after doing this is that the the SystemLocalLoader only gets initialized once per jvm, so the first test to set this wins. Maybe this should happen at a higher level for the whole project? Maybe in a /system-classpath.properties or a package annotation for test's root package?
This is now initialized in a package-info in a parent package in the project containing the tests:
@ClasspathFilter(maven= {
@MavenFilter(groupId="org.jboss.shrinkwrap", artifactId="shrinkwrap-api"),
@MavenFilter(groupId="org.jboss.shrinkwrap", artifactId="shrinkwrap-impl-base")})
package org.jboss.test.as.modular;
import org.jboss.as.embedded.modular.bootstrap.ClasspathFilter;
import org.jboss.as.embedded.modular.bootstrap.MavenFilter;