我用jwt令牌构建了一个OAuth2服务器。我尝试使用密码模式登录,当我在IDEA中运行代码时,一切都很顺利,但当我将其打包到jar时,我无法登录并获得Exception。这是我在IDE和jar中的调试日志。
在IDE
罐内
我深入调试,发现当它在ProviderManager中运行时,IDE和jar之间的提供程序是不同的。在IDE中,我可以看到自己编写的mongoDao,但在jar中,有一个例外。
在IDE
罐内
有人能告诉我这里发生了什么吗?
我终于弄明白了,这是因为我自己声明了一个ClientDetailsService,默认情况下还有另一个同名的ClientDetailsServices;当我用IDE运行代码时,使用新的Bean,当我在jar中运行代码时使用默认的Bean,所以我添加了@Primary注释来设置要使用的Bean。但我仍然不知道IDE和jar之间为什么有区别。