Skip to content

Commit bb1be9b

Browse files
hyunihsyoonsseo
andauthored
Fix: reading class error in deployment environment (#25)
* fix: read class error in deployment * chore: delete print log --------- Co-authored-by: yoonsseo <yellisa2000@gmail.com>
1 parent c6136e2 commit bb1be9b

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/main/java/io/swaggy/swagger/customlib/utils/ControllerMethodOrderUtil.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import org.objectweb.asm.tree.ClassNode;
55
import org.springframework.web.bind.annotation.*;
66

7-
7+
import java.io.InputStream;
88
import java.lang.reflect.Method;
99
import java.util.Arrays;
1010
import java.util.List;
@@ -14,7 +14,12 @@ public class ControllerMethodOrderUtil {
1414
public static List<Method> getOrderedMethods(Class<?> controllerClass) {
1515
try {
1616
// ASM을 사용하여 클래스의 메서드 순서를 읽어옴
17-
ClassReader classReader = new ClassReader(controllerClass.getName());
17+
InputStream classInputStream = controllerClass.getClassLoader()
18+
.getResourceAsStream(controllerClass.getName().replace('.', '/') + ".class");
19+
if (classInputStream == null) {
20+
throw new RuntimeException("Class file not found for " + controllerClass.getName());
21+
}
22+
ClassReader classReader = new ClassReader(classInputStream);
1823
ClassNode classNode = new ClassNode();
1924
classReader.accept(classNode, 0);
2025

@@ -35,6 +40,7 @@ public static List<Method> getOrderedMethods(Class<?> controllerClass) {
3540
})
3641
.collect(Collectors.toList());
3742
} catch (Exception e) {
43+
e.printStackTrace();
3844
throw new RuntimeException("Failed to read class with ASM", e);
3945
}
4046
}

0 commit comments

Comments
 (0)