With the initial implementation of dynamic CDS archive (JDK-8207812), to dump a dynamic archive, the base archive must be created without a module path:
https://github.com/openjdk/jdk/blob/51b218842f001f1c4fd5ca7a02a2ba21e9e8a82c/src/hotspot/share/cds/filemap.cpp#L897
if (DynamicDumpSharedSpaces) {
....
if (header()->num_module_paths() > 0) {
DynamicDumpSharedSpaces = false;
warning(
"Dynamic archiving is disabled because base layer archive has module path");
}
It would be good to support module path in the base archive as well. Initially, we could consider the case where the module path for the base and dynamic archive are the same.