MyObject myObject = null;
for (Package p : Package.getPackages()) {
try {
myObject = Class.forName(p.getName() + "." + className).newInstance();
break;
} catch (ClassNotFoundException ex) {
// ignore
}
}
Вызов Package.getPackages()
даст вам каждый пакет, известный текущим классам ClassLoader и его предкам .
Предупреждение: это будет дорого, потому что вы неоднократно бросаете иловить исключения.Можно ускорить его, протестировав:
this.getClass().getClassLoader().findResource(binaryClassName) != null
перед вызовом Class.forName(...)
или эквивалентным ему.