basically, it’s same class (FQ class name) being loaded from different class loaders. It’s a constraint check implemented by JVM since 1.2.
So that given permission to a class from one classloader, doesn’t grant the same permission to “same” class loaded by another classloader by default.