-
Notifications
You must be signed in to change notification settings - Fork 41.6k
Closed as not planned
Closed as not planned
Copy link
Labels
status: declinedA suggestion or change that we don't feel we should currently applyA suggestion or change that we don't feel we should currently apply
Description
When use the latest Spring Boot 3.0.0-SNAPSHOT together with mybatis-spring-boot 3.x(under development), we cannot deploy war file to the Tomcat 10. Until Spring Boot 3.0.0-RC2 it work fine.
Logs
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.0.0-SNAPSHOT)
2022-11-23T16:21:30.291+09:00 INFO 71116 --- [ main] s.mybatis.war.SampleWebApplication : Starting SampleWebApplication using Java 17.0.1 with PID 71116 (/Users/shimizukazuki/git-me/spring-boot-starter/mybatis-spring-boot-samples/mybatis-spring-boot-sample-war/target/cargo/configurations/tomcat10x/webapps/mybatis-spring-boot-sample-war/WEB-INF/classes started by shimizukazuki in /Users/shimizukazuki/git-me/spring-boot-starter/mybatis-spring-boot-samples/mybatis-spring-boot-sample-war/target/cargo/configurations/tomcat10x)
2022-11-23T16:21:30.296+09:00 INFO 71116 --- [ main] s.mybatis.war.SampleWebApplication : No active profile set, falling back to 1 default profile: "default"
2022-11-23T16:21:32.309+09:00 INFO 71116 --- [ main] .C.[.[.[/mybatis-spring-boot-sample-war] : Initializing Spring embedded WebApplicationContext
11月 23, 2022 4:21:32 午後 org.apache.catalina.core.ApplicationContext log
情報: Initializing Spring embedded WebApplicationContext
2022-11-23T16:21:32.313+09:00 INFO 71116 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1940 ms
2022-11-23T16:21:32.785+09:00 INFO 71116 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2022-11-23T16:21:33.322+09:00 INFO 71116 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:mem:ff60724f-b1e3-44a5-a108-6e4484a3d63b user=SA
2022-11-23T16:21:33.326+09:00 INFO 71116 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2022-11-23T16:21:33.463+09:00 WARN 71116 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cityRestController' defined in file [/Users/shimizukazuki/git-me/spring-boot-starter/mybatis-spring-boot-samples/mybatis-spring-boot-sample-war/target/cargo/configurations/tomcat10x/webapps/mybatis-spring-boot-sample-war/WEB-INF/classes/sample/mybatis/war/controller/CityRestController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'cityMapper' defined in file [/Users/shimizukazuki/git-me/spring-boot-starter/mybatis-spring-boot-samples/mybatis-spring-boot-sample-war/target/cargo/configurations/tomcat10x/webapps/mybatis-spring-boot-sample-war/WEB-INF/classes/sample/mybatis/war/mapper/CityMapper.class]: Cannot resolve reference to bean 'sqlSessionTemplate' while setting bean property 'sqlSessionTemplate'
2022-11-23T16:21:33.464+09:00 INFO 71116 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2022-11-23T16:21:33.467+09:00 INFO 71116 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
2022-11-23T16:21:33.484+09:00 INFO 71116 --- [ main] .s.b.a.l.ConditionEvaluationReportLogger :
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2022-11-23T16:21:33.548+09:00 ERROR 71116 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to bind properties under 'mybatis.configuration.environment' to org.apache.ibatis.mapping.Environment:
Reason: java.lang.IllegalStateException: Failed to extract parameter names for public org.apache.ibatis.mapping.Environment(java.lang.String,org.apache.ibatis.transaction.TransactionFactory,javax.sql.DataSource)
Action:
Update your application's configuration
...
Caused by: org.springframework.boot.context.properties.ConfigurationPropertiesBindException: Error creating bean with name 'mybatis-org.mybatis.spring.boot.autoconfigure.MybatisProperties': Could not bind properties to 'MybatisProperties' : prefix=mybatis, ignoreInvalidFields=false, ignoreUnknownFields=true
at org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor.bind(ConfigurationPropertiesBindingPostProcessor.java:92)
at org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor.postProcessBeforeInitialization(ConfigurationPropertiesBindingPostProcessor.java:78)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:420)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1743)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1405)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1325)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:880)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:784)
... 93 more
Caused by: org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'mybatis.configuration.environment' to org.apache.ibatis.mapping.Environment
at org.springframework.boot.context.properties.bind.Binder.handleBindError(Binder.java:387)
at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:347)
at org.springframework.boot.context.properties.bind.Binder.lambda$bindDataObject$4(Binder.java:472)
at org.springframework.boot.context.properties.bind.JavaBeanBinder.bind(JavaBeanBinder.java:98)
at org.springframework.boot.context.properties.bind.JavaBeanBinder.bind(JavaBeanBinder.java:86)
at org.springframework.boot.context.properties.bind.JavaBeanBinder.bind(JavaBeanBinder.java:62)
at org.springframework.boot.context.properties.bind.Binder.lambda$bindDataObject$5(Binder.java:476)
at org.springframework.boot.context.properties.bind.Binder$Context.withIncreasedDepth(Binder.java:590)
at org.springframework.boot.context.properties.bind.Binder$Context.withDataObject(Binder.java:576)
at org.springframework.boot.context.properties.bind.Binder.bindDataObject(Binder.java:474)
at org.springframework.boot.context.properties.bind.Binder.bindObject(Binder.java:414)
at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:343)
at org.springframework.boot.context.properties.bind.Binder.lambda$bindDataObject$4(Binder.java:472)
at org.springframework.boot.context.properties.bind.JavaBeanBinder.bind(JavaBeanBinder.java:98)
at org.springframework.boot.context.properties.bind.JavaBeanBinder.bind(JavaBeanBinder.java:86)
at org.springframework.boot.context.properties.bind.JavaBeanBinder.bind(JavaBeanBinder.java:62)
at org.springframework.boot.context.properties.bind.Binder.lambda$bindDataObject$5(Binder.java:476)
at org.springframework.boot.context.properties.bind.Binder$Context.withIncreasedDepth(Binder.java:590)
at org.springframework.boot.context.properties.bind.Binder$Context.withDataObject(Binder.java:576)
at org.springframework.boot.context.properties.bind.Binder.bindDataObject(Binder.java:474)
at org.springframework.boot.context.properties.bind.Binder.bindObject(Binder.java:414)
at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:343)
at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:332)
at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:262)
at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:249)
at org.springframework.boot.context.properties.ConfigurationPropertiesBinder.bind(ConfigurationPropertiesBinder.java:94)
at org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor.bind(ConfigurationPropertiesBindingPostProcessor.java:89)
... 107 more
Caused by: java.lang.IllegalStateException: Failed to extract parameter names for public org.apache.ibatis.mapping.Environment(java.lang.String,org.apache.ibatis.transaction.TransactionFactory,javax.sql.DataSource)
at org.springframework.util.Assert.state(Assert.java:97)
at org.springframework.boot.context.properties.bind.ValueObjectBinder$DefaultValueObject.parseConstructorParameters(ValueObjectBinder.java:270)
at org.springframework.boot.context.properties.bind.ValueObjectBinder$DefaultValueObject.<init>(ValueObjectBinder.java:264)
at org.springframework.boot.context.properties.bind.ValueObjectBinder$DefaultValueObject.get(ValueObjectBinder.java:291)
at org.springframework.boot.context.properties.bind.ValueObjectBinder$ValueObject.get(ValueObjectBinder.java:198)
at org.springframework.boot.context.properties.bind.ValueObjectBinder.bind(ValueObjectBinder.java:67)
at org.springframework.boot.context.properties.bind.Binder.lambda$bindDataObject$5(Binder.java:476)
at org.springframework.boot.context.properties.bind.Binder$Context.withIncreasedDepth(Binder.java:590)
at org.springframework.boot.context.properties.bind.Binder$Context.withDataObject(Binder.java:576)
at org.springframework.boot.context.properties.bind.Binder.bindDataObject(Binder.java:474)
at org.springframework.boot.context.properties.bind.Binder.bindObject(Binder.java:414)
at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:343)
... 132 more
Reproduce
Start the Tomcat server using argo plugin:
./mvnw clean package cargo:run -Dmaven.test.skip -Denforcer.skip=true -pl mybatis-spring-boot-samples/mybatis-spring-boot-sample-war
Access to API:
curl http://localhost:18080/mybatis-spring-boot-sample-war/cities/CA -D -
HTTP/1.1 404
Content-Type: text/html;charset=utf-8
Content-Language: ja
Content-Length: 809
Date: Wed, 23 Nov 2022 07:32:51 GMT
<!doctype html><html lang="ja"><head><title>HTTPステータス 404 – 見つかりません。</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {fo} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTPステータス 404 – 見つかりません。</h1><hr class="lタイプ</b> ステータスレポート</p><p><b>説明</b> オリジンサーバーは、ターゲットリソースの現在の表現を見つけられなかったか、またはそれが存在することを開示するつもりはありません。</p><hr class="line" /><h3>Apache Tomcat
View container log file:
cat mybatis-spring-boot-samples/mybatis-spring-boot-sample-war/target/cargo/container.log
Downgrade to Spring Boot 3.0.0-RC2
Edit pom.xml stored the root directory as follow:
- <spring-boot.version>3.0.0-SNAPSHOT</spring-boot.version>
+ <spring-boot.version>3.0.0-RC2</spring-boot.version>
Start the Tomcat server using argo plugin:
./mvnw clean package cargo:run -Dmaven.test.skip -Denforcer.skip=true -pl mybatis-spring-boot-samples/mybatis-spring-boot-sample-war
Access to API:
curl http://localhost:18080/mybatis-spring-boot-sample-war/cities/CA -D -
HTTP/1.1 200
Content-Type: application/json
Transfer-Encoding: chunked
Date: Wed, 23 Nov 2022 07:34:53 GMT
{"id":1,"name":"San Francisco","state":"CA","country":"US"}
Related issues
Metadata
Metadata
Assignees
Labels
status: declinedA suggestion or change that we don't feel we should currently applyA suggestion or change that we don't feel we should currently apply