0

I need some help from you who knows how to fix this problem that I encountered when deploying the war file to Heroku.

I would be glad if someone can help me with this problem.

  • Grails 4
  • Java 8
  • Gradle 5.1.1

Thank you in advance :), Happy Coding

Configuring Spring Security Core ...
2019-11-28T07:23:12.993707+00:00 app[web.1]: ... finished configuring Spring Security Core
2019-11-28T07:23:12.993720+00:00 app[web.1]:
2019-11-28T07:23:13.112063+00:00 app[web.1]:
2019-11-28T07:23:13.112094+00:00 app[web.1]: Configuring Spring Security REST 3.0.0.RC1...
2019-11-28T07:23:13.169216+00:00 app[web.1]: ... finished configuring Spring Security REST
2019-11-28T07:23:13.169225+00:00 app[web.1]:
2019-11-28T07:23:13.170510+00:00 app[web.1]: ... with GORM support
2019-11-28T07:23:22.340522+00:00 app[web.1]: 2019-11-28 07:23:22.336 ERROR --- [ost-startStop-1] o.s.boot.SpringApplication               : Application run failed
2019-11-28T07:23:22.340542+00:00 app[web.1]:
2019-11-28T07:23:22.340547+00:00 app[web.1]: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerAdapter' defined in org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: Factory method 'requestMappingHandlerAdapter' threw exception; nested exception is java.lang.BootstrapMethodError: java.lang.IllegalAccessError: no such method: reactor.core.publisher.Mono.from(Publisher)Mono/invokeStatic
2019-11-28T07:23:22.340549+00:00 app[web.1]: at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:627)
2019-11-28T07:23:22.340551+00:00 app[web.1]: at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:456)
2019-11-28T07:23:22.340554+00:00 app[web.1]: at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1321)
2019-11-28T07:23:22.340557+00:00 app[web.1]: at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1160)
2019-11-28T07:23:22.340560+00:00 app[web.1]: at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
2019-11-28T07:23:22.340562+00:00 app[web.1]: at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
2019-11-28T07:23:22.340564+00:00 app[web.1]: at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
2019-11-28T07:23:22.340566+00:00 app[web.1]: at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
2019-11-28T07:23:22.340569+00:00 app[web.1]: at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
2019-11-28T07:23:22.340570+00:00 app[web.1]: at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
2019-11-28T07:23:22.340572+00:00 app[web.1]: at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845)
2019-11-28T07:23:22.340573+00:00 app[web.1]: at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
2019-11-28T07:23:22.340575+00:00 app[web.1]: at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
2019-11-28T07:23:22.340577+00:00 app[web.1]: at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
2019-11-28T07:23:22.340578+00:00 app[web.1]: at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:742)
2019-11-28T07:23:22.340580+00:00 app[web.1]: at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:389)
2019-11-28T07:23:22.340581+00:00 app[web.1]: at org.springframework.boot.SpringApplication.run(SpringApplication.java:311)
2019-11-28T07:23:22.340583+00:00 app[web.1]: at grails.boot.GrailsApp.run(GrailsApp.groovy:97)
4

1 回答 1

0

I already solve this issue, On Heroku, they have a plugin called heroku-cli-deploy and if you deploy a war file especially if this war file generated from grails make sure that you select the suitable webapp-runner version for your war file. Grails war file has already tomcat on it and makes sure tomcat version would match to Heroku webapp-runner. In my case I choose an 8.5.11.0 webapp-runner version.

heroku war:deploy warfile.war --webapp-runner 8.5.11.0 -a herokuAppName
于 2020-04-12T17:19:14.583 回答