To reduce the amount of JARs linked to a client application, it is necessary to provide a Class-Path entry in the MANIFEST of the CAR archive. When configuring the ACR to do so using <addClasspath>true</addClasspath>, the created MANIFEST.MF will include the timestamp of a SNAPSHOT dependency, instead of simply the word "-SNAPSHOT". Unfortunately, the EAR plugin is unable to rename the packaged dependencies in the same way, but simply keeps the string "-SNAPSHOT". Effectively this leads to the fact that the Class-Path will not contain the needed JARs at runtime, so the client will except with ClassNotFoundException for any class inside of the SNAPSHOT dependencies.
Attached you will find a sample POM which produces this problem on my laptop. The sole dependency will be found in the EAR later as "quipsy-defaultgui-4.32.-12-SNAPSHOT.jar", while the MANIFEST.MF of the CAR will have a MANIFEST containing "Class-Path: quipsy-defaultgui-4.32.12-20120312.074725-4.jar".
Obviously the behaviour of the ACR and EAR plugings are inconsistent, effectively preventing use of the snapshot mechanism of Maven with Jave EE projects.