永远不会调用WebApplicationInitializer的onStartup方法

追风赶月莫停留,平芜尽处是春山。这篇文章主要讲述永远不会调用WebApplicationInitializer的onStartup方法相关的知识,希望能为你提供帮助。
我有一个Grails应用程序。我试图通过使用onStartupWebApplicationInitializer方法设置一个活跃的Spring配置文件。我用@Configuration注释了这个java类,但onStartup方法永远不会被调用。

package my.package; @Configuration public class MyWebApplicationInitializer implements WebApplicationInitializer {@Override public void onStartup(ServletContext servletContext) throws ServletException { servletContext.setInitParameter("spring.profiles.active", "test"); } }

Config.groovy我添加了,
grails.spring.bean.packages = ['my.package']

我还尝试在resources.groovy中添加以下代码
xmlns context: "http://www.springframework.org/schema/context" context."component-scan" "base-package": "my.package"

但无论代码如何变化,我都会尝试使用onStartup方法。
答案在我的情况下,我使用application.yml并且它在dev环境中工作但是在使用prod配置文件将其打包成战争之后,由于某种原因它停止拿起我用@Configuration注释的java配置。
【永远不会调用WebApplicationInitializer的onStartup方法】解决方案是按照另一个Application.groovy的建议修改question:
@ComponentScan("my.package") class Application extends GrailsAutoConfiguration { ... }

注意:在文档中推荐的packageNames()中覆盖Application.groovy也不起作用。

    推荐阅读