我有 2 个项目具有相同的异常并使用相同的异常处理程序。 因此,所有异常和异常处理程序都被移至外部模块。
异常导入得很好,但异常处理程序似乎没有被调用。 据我了解,如果我有 @ComponentScan 注释,则应该从外部 jar 调用处理程序。
这是我的异常处理程序的样子:
@ComponentScan(basePackages = {"com.*first-project*.controller",
"com.*second-project*.controller"})
@ControllerAdvice(basePackages = {"com.*first-project*.controller",
"com.*second-project*.controller"})
public class GlobalExceptionHandler {
...
}
当异常处理程序单独作为每个项目的一部分时,它工作得很好。然后它在 @ControllerAdvice 注释中只有该项目的路径,并且没有 @ComponentScan。
带有异常处理程序的外部 jar 当前导入为:
compile files('libs/*jar-name*.jar')
最佳答案
在项目中添加 @Import(GlobalExceptionHandler.class) 修复了问题,并且处理程序现在可以正确调用。
关于java - Spring - 将外部 jar 中的异常处理程序用于另外 2 个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64488481/