mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-09 03:43:40 +01:00
Be more resilient to asynchronous package loads like URLClassLoader
By: md_5 <git@md-5.net>
This commit is contained in:
parent
1cee26089b
commit
a598aa855b
1 changed files with 10 additions and 4 deletions
|
@ -104,10 +104,16 @@ final class PluginClassLoader extends URLClassLoader {
|
||||||
if (dot != -1) {
|
if (dot != -1) {
|
||||||
String pkgName = name.substring(0, dot);
|
String pkgName = name.substring(0, dot);
|
||||||
if (getPackage(pkgName) == null) {
|
if (getPackage(pkgName) == null) {
|
||||||
if (manifest != null) {
|
try {
|
||||||
definePackage(pkgName, manifest, url);
|
if (manifest != null) {
|
||||||
} else {
|
definePackage(pkgName, manifest, url);
|
||||||
definePackage(pkgName, null, null, null, null, null, null, null);
|
} else {
|
||||||
|
definePackage(pkgName, null, null, null, null, null, null, null);
|
||||||
|
}
|
||||||
|
} catch (IllegalArgumentException ex) {
|
||||||
|
if (getPackage(pkgName) == null) {
|
||||||
|
throw new IllegalStateException("Cannot find package " + pkgName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue