Skip to content

Commit ba545a2

Browse files
committed
fix: custom shell generate failed
1 parent f5112bd commit ba545a2

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

generator/src/main/java/com/reajason/javaweb/memshell/generator/CustomShellGenerator.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,16 @@ protected DynamicType.Builder<?> getBuilder() {
3131
if (StringUtils.isBlank(shellToolConfig.getShellClassName())) {
3232
shellToolConfig.setShellClassName(className);
3333
}
34-
ClassFileLocator classFileLocator = ClassFileLocator.Simple.of(className, classBytes);
34+
ClassFileLocator compoundLocator = new ClassFileLocator.Compound(
35+
ClassFileLocator.Simple.of(className, classBytes),
36+
ClassFileLocator.ForClassLoader.of(this.getClass().getClassLoader())
37+
);
3538
TypeDescription typeDescription = new TypePool.Default(
36-
new TypePool.CacheProvider.Simple(), classFileLocator,
39+
new TypePool.CacheProvider.Simple(), compoundLocator,
3740
TypePool.Default.ReaderMode.FAST, TypePool.Default.ofSystemLoader()
3841
).describe(className).resolve();
3942
shellToolConfig.setShellTypeDescription(typeDescription);
4043
return new ByteBuddy()
41-
.redefine(typeDescription, classFileLocator);
44+
.redefine(typeDescription, compoundLocator);
4245
}
4346
}

0 commit comments

Comments
 (0)