Але*_*ров 8 java spring-boot spring-boot-devtools
当通过/ 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");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试图在spring-devtools.properties中添加对jar文件的引用以重新启动.include = / ..... jar
Spring Boot 2.0.0.RELEASE Java 9
小智 10
由于它们是生成的类,因此您必须将它们从Spring Devtools“重新启动”类加载器中排除。
/src/main/resources/META-INF/spring-devtools.properties档案添加属性,例如restart.exclude.*从重启类加载器中排除类(例如,您可以使用restart.exclude.mygeneratedclasses=/*[generated]*.class排除generated单词作为包或类名的一部分的所有类)
做完了 现在,您可以使用devtools,并且WS生成的类没有问题。
参考:
[1] https://github.com/spring-projects/spring-boot/issues/4529
| 归档时间: |
|
| 查看次数: |
1682 次 |
| 最近记录: |