Yes, this is expected behavior.
In 8.x, we package all the contents from the ear into client stub jar with all of the classes exploded at the top level. This has caused quite a few problems, for example, files overwrite each other during the exploding if they happen to have the same name.
In 9.x, we have cleaned up the contents of the client stub jar significantly. For example, we no longer package war file in the client stub jar as it's just not relevant, and for ejb jar and other jars we included, we include the jar file instead of expanding them at the top level.
[Message sent by forum member 'hzhang_jn' (hzhang_jn)]
http://forums.java.net/jive/thread.jspa?messageID=242147