Right now, active project artifacts from the reactor are resolved by their exact artifact id. The distinction between artifact type and classifier gives rise to confusion for users here. For instance, the test JAR attached by jar:test-jar has the id gid:aid:test-jar:version. Hence, resolution from the reactor cache works only if users specify the dependency on the test JAR with <type>test-jar</type>, omitting <type> and just giving <classifier>tests</classifier> will not resolve the dependendy from the reactor. However, the latter approach with the classifier works once the test JAR is installed to the local repo. EJB client JARs are another example of this issue.
Maybe we can extend the reactor resolution to do another id matching try which constructs the id of the active artifact by assuming type = artifactHandler.extension and classifier = artifactHandler.classifier before matching with the dependency id. This should more closely resemble artifact identity as visible in the repository, where we have no artifact type but only classifier and extension.