This is either a Maven bug or is configurable behind some weird, obscure flag:
[g@:~/Go/test/infinispan.git]% jar tf lucene/lucene-directory/target/infinispan-lucene-directory.jar | grep META-INF
META-INF/MANIFEST.MF
META-INF/
META-INF/DEPENDENCIES.txt
META-INF/LICENSE.txt
META-INF/maven/
META-INF/maven/org.infinispan/
META-INF/maven/org.infinispan/infinispan-lucene-directory/
META-INF/maven/org.infinispan/infinispan-lucene-directory/pom.properties
META-INF/maven/org.infinispan/infinispan-lucene-directory/pom.xml
[g@:~/Go/test/infinispan.git]% l lucene/lucene-directory/target/classes/META-INF
total 80
drwxr-xr-x 7 g staff 238B Jul 23 13:30 .
drwxr-xr-x 4 g staff 136B Jul 23 13:39 ..
-rw-r--r-- 1 g staff 2.5K Jul 23 13:39 DEPENDENCIES.txt
-rw-r--r-- 1 g staff 26K Jul 23 13:39 LICENSE.txt
-rw-r--r-- 1 g staff 4.9K Jul 23 13:39 MANIFEST.MF
drwxr-xr-x 3 g staff 102B Jul 23 13:30 maven
drwxr-xr-x 3 g staff 102B Jul 23 13:29 services
[g@:~/Go/test/infinispan.git]%
It includes everything except the 'services' subfolder. Can't think of a workaround right now, so gonna debug the Maven code.
With this fix, Sanne's original problem is solved.