Browse Source

loadClass 方法跳过 provided 依赖类型不处理

James 5 years ago
parent
commit
1dc557f53c
1 changed files with 7 additions and 2 deletions
  1. 7 2
      src/main/java/com/jfinal/core/PathScanner.java

+ 7 - 2
src/main/java/com/jfinal/core/PathScanner.java

@@ -243,8 +243,13 @@ public class PathScanner {
 	private Class<?> loadClass(String className) {
 		try {
 			return classLoader.loadClass(className);
-		} catch (ClassNotFoundException e) {
-			throw new RuntimeException(e);
+		} catch (Exception e) {
+			/**
+			 * 由于扫描是一种主动行为,所以 pom.xml 中的 provided 依赖会在此被 loadClass
+			 * 从而抛出 ClassNotFoundException、NoClassDefFoundError 异常
+			 * 对于 provided 依赖 return null 跳过这些 class 不处理
+			 */
+			return null;
 		}
 	}