浏览代码

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

James 5 年之前
父节点
当前提交
1dc557f53c
共有 1 个文件被更改,包括 7 次插入2 次删除
  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;
 		}
 	}