Usando a ideia de criar um novo projeto, e então construir um programa chamado pasta "java", quando você começa dentro da função principal, aparecem como uma exceção:
Segundo informações de exceção, navegar à investigação java.lang.ClassLoader.preDefineClass, encontramos o seguinte fragmento de código:
/* Determine protection domain, and check that:
- not define java.* class,
- signer of this class matches signers for the rest of the classes in package.
*/
private ProtectionDomain preDefineClass(String name,
ProtectionDomain protectionDomain)
{
if (!checkName(name))
throw new NoClassDefFoundError("IllegalName: " + name);
if ((name != null) && [color=red]name.startsWith("java.")[/color]) {
throw new SecurityException("Prohibited package name: " +
name.substring(0, name.lastIndexOf('.')));
}
if (protectionDomain == null) {
protectionDomain = getDefaultDomain();
}
if (name != null)
checkCerts(name, protectionDomain.getCodeSource());
return protectionDomain;
}
......
// true if the name is null or has the potential to be a valid binary name
private boolean checkName(String name) {
if ((name == null) || (name.length() == 0))
return true;
if ((name.indexOf('/') != -1)
|| (!VM.allowArraySyntax() && (name.charAt(0) == '[')))
return false;
return true;
}
Em primeiro lugar, ele pode ser visto nomes de classe preDefineClass foram verificados e considerados como java como um nome de pacote, então jogue uma exceção de segurança: Não use o nome do pacote!
Esta exceção de segurança é uma classe Java carregamento "modelo de delegação pai" (veja aqui ) causado. No modelo de delegação pai, pelo carregador de classe principal para carregar uma classe, o carregador inferior não é carregado. Nesta forma de realização a parte superior das cargas carregadora o BootstrapClassLoader java definidos sob o caminho da classe. * Classes no pacote, e a embalagem não pode ser java.research carregado pelo carregador inferior AppClassLoader BootstrapClassLoader. É também mecanismo de segurança medidas de protecção java de código malicioso tomadas.