Just one comment from my side, which may had been lost in previous threads.
The reason is if JCP is embedded in applications, which already use a different CDK version as a dependency, or insist of using different CDK version than one distributed with JCP, it results in duplication of classes with same names and in the worst case different implementations, and which one would be loaded by Java classloader is chosen at random!
This is a major trouble, errors hard to track, crashes, etc. I understand that the original use case for JCP is a standalone application or applet, but as seen on this list, it is being embedded in other applications as well. The only clean way would be to finally arrive at JCP using the CDK jars as external jars, much same as let's say XML or logging libraries. Until then we'll continue to try to compile JCP with the latest CDK and provide maven artifact without embedding JCP as dependencies.