当 /target/class/..... 中的 wsimport 为 WS 服务生成存根并使用 devtools 运行 Spring Boot 应用程序时,我得到了一个异常。
原因:java.lang.IllegalArgumentException: com....从方法引用的服务在类加载器中不可见
我发现 spring devtools 类加载器RestartClassLoader 存在问题,因为对类的两个不同引用(RestartClassLoader 和 AppClassLoader)
private static void ensureVisible(ClassLoader ld, Class<?> c) {
Class<?> type = null;
try {
type = Class.forName(c.getName(), false, ld);
} catch (ClassNotFoundException e) {
if (type != c) {
throw new IllegalArgumentException(c.getName() +
" referenced from a method is not visible from class loader");
}
}
}
我试图在 spring-devtools.properties 中添加对 jar 文件的引用以 restart.include=/.....jar
Spring Boot 2.0.0.RELEASE Java 9