mirror of
https://github.com/ReaJason/MemShellParty.git
synced 2026-09-25 00:11:52 +08:00
fix: custom shell generate failed
This commit is contained in:
+6
-3
@@ -31,13 +31,16 @@ public class CustomShellGenerator extends ByteBuddyShellGenerator<CustomConfig>
|
|||||||
if (StringUtils.isBlank(shellToolConfig.getShellClassName())) {
|
if (StringUtils.isBlank(shellToolConfig.getShellClassName())) {
|
||||||
shellToolConfig.setShellClassName(className);
|
shellToolConfig.setShellClassName(className);
|
||||||
}
|
}
|
||||||
ClassFileLocator classFileLocator = ClassFileLocator.Simple.of(className, classBytes);
|
ClassFileLocator compoundLocator = new ClassFileLocator.Compound(
|
||||||
|
ClassFileLocator.Simple.of(className, classBytes),
|
||||||
|
ClassFileLocator.ForClassLoader.of(this.getClass().getClassLoader())
|
||||||
|
);
|
||||||
TypeDescription typeDescription = new TypePool.Default(
|
TypeDescription typeDescription = new TypePool.Default(
|
||||||
new TypePool.CacheProvider.Simple(), classFileLocator,
|
new TypePool.CacheProvider.Simple(), compoundLocator,
|
||||||
TypePool.Default.ReaderMode.FAST, TypePool.Default.ofSystemLoader()
|
TypePool.Default.ReaderMode.FAST, TypePool.Default.ofSystemLoader()
|
||||||
).describe(className).resolve();
|
).describe(className).resolve();
|
||||||
shellToolConfig.setShellTypeDescription(typeDescription);
|
shellToolConfig.setShellTypeDescription(typeDescription);
|
||||||
return new ByteBuddy()
|
return new ByteBuddy()
|
||||||
.redefine(typeDescription, classFileLocator);
|
.redefine(typeDescription, compoundLocator);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user