Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java mybatis spring启动程序在maven包启动时出现错误_Java_Spring Boot_Spring Mybatis - Fatal编程技术网

Java mybatis spring启动程序在maven包启动时出现错误

Java mybatis spring启动程序在maven包启动时出现错误,java,spring-boot,spring-mybatis,Java,Spring Boot,Spring Mybatis,我是新手。我按照第页的说明配置mybatis spring boot starter。我使用MapperXML文件来定义查询 我通过SpringBoot应用程序运行它,它没有问题。 但是当我用cmd:mvn clean包打包war文件时。我通过cmd:java-jar[fileWarName]运行web应用程序。我给出的错误如下: 启动ApplicationContext时出错。要显示自动配置报告,请在启用“调试”的情况下重新运行应用程序。 2017-08-20 12:26:48.690错误34

我是新手。我按照第页的说明配置mybatis spring boot starter。我使用MapperXML文件来定义查询

我通过SpringBoot应用程序运行它,它没有问题。 但是当我用cmd:mvn clean包打包war文件时。我通过cmd:java-jar[fileWarName]运行web应用程序。我给出的错误如下:

启动ApplicationContext时出错。要显示自动配置报告,请在启用“调试”的情况下重新运行应用程序。 2017-08-20 12:26:48.690错误3404-[main]o.s.boot.SpringApplication:应用程序启动失败

org.springframework.beans.factory.unsatifiededependencyException:创建名为“usersResource”的bean时出错,该名称在URL[jar:file:/C:/Users/KhoaNA/Desktop/test/spring-boot-mybatis-0.0.1-SNAPSHOT.war!/WEB-INF/classes!/com/techprimers/mybatis/springbootmybatis/resource/usersResource.class]:通过构造函数参数0表示的未满足依赖关系;嵌套异常是org.springframework.beans.factory.unsatifiedependencyException:创建名为“usersMapper”的bean时出错,该名称在URL[jar:file:/C:/Users/KhoaNA/Desktop/test/spring-boot-mybatis-0.0.1-SNAPSHOT.war!/WEB-INF/classes!/com/techprimers/mybatis/springbootmybatis/mapper/usersMapper.class]:通过bean属性“sqlSessionFactory”表示的未满足的依赖关系;嵌套异常为org.springframework.beans.factory.BeanCreationException:在类路径资源[org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]中定义了名为“sqlSessionFactory”的bean时出错:通过工厂方法实例化bean失败;嵌套异常为org.springframework.beans.beanstantiationException:未能实例化[org.apache.ibatis.session.SqlSessionFactory]:工厂方法“SqlSessionFactory”引发异常;嵌套异常为org.springframework.core.NestedIOException:未能解析映射资源:“URL[jar:file:C:\Users\KhoaNA\Desktop\test\spring-boot-mybatis-0.0.1-SNAPSHOT.war!/WEB-INF/classes/vn/hipt/fas/sql/MenuMapper.xml]”;嵌套异常为org.apache.ibatis.builder.BuilderException:解析映射器XML时出错。原因:java.lang.IllegalArgumentException:映射语句集合已包含com.techprimers.mybatis.springbootmybatis.mapper.UsersMapper.findUserById的值 在org.springframework.beans.factory.support.ConstructorResolver.createArgumentArrayConstructorResolver.java:749~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.ConstructorResolver.autowireConstructorConstructorResolver.java:189~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructorAbstractAutowireCapableBeanFactory.java:1193~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstanceAbstractAutowireCapableBeanFactory.java:1095~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBeanAbstractAutowireCapableBeanFactory.java:513~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanAbstractAutowireCapableBeanFactory.java:483~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.AbstractBeanFactory$1.getObjectAbstractBeanFactory.java:306~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingletonDefaultSingletonBeanRegistry.java:230~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBeanAbstractBeanFactory.java:302~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractBeanFactory.getBeanAbstractBeanFactory.java:197~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingletonsDefaultListableBeanFactory.java:761~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitializationAbstractApplicationContext.java:867~[spring-context-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.context.support.AbstractApplicationContext.refreshAbstractApplicationContext.java:543~[spring-context-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refreshEmbeddedWebApplicationContext.java:122~[spring-boot-1.5.4.RELEASE.jar!/:1.5.4.RELEASE] 位于org.springframework.boot.SpringApplication.refreshSpringApplication.java:693[spring-boot-1.5.4.RELEASE.jar!/:1.5。 4.释放] 在org.springframework.boot.SpringApplication.refreshContextSpringApplication.java:360[spring-boot-1.5.4.RELEASE.jar!/:1.5.4.RELEASE] 在org.springframework.boot.SpringApplication.runSpringApplication.java:303[spring-boot-1.5.4.RELEASE.jar!/:1.5.4.RELEASE] 在org.springframework.boot.SpringApplication.runSpringApplication.java:1118[spring-boot-1.5.4.RELEASE.jar!/:1.5.4.RELEASE] 在org.springframework.boot.SpringApplication.runSpringApplication.java:1107[spring-boot-1.5.4.RELEASE.jar!/:1.5.4.RELEASE] 在com.techprimers.mybatis.springbootmybatis.SpringBootMybatisApplication.mainSpringBootMybatisApplication.java:12[classes!/:0.0.1-SNAPSHOT] 在sun.reflect.NativeMethodAccessorImpl.invoke0Native方法~[na:1.8.0_144] 位于sun.reflect.NativeMethodAccessorImpl.invokeUnknown源~[na:1.8.0_144] 在sun.reflect.DelegatingMethodAccessorImpl.invokeUnknown Source~[na:1.8.0_144] 在java.lang.reflect.Method.invokeUnknown源代码处~[na:1.8.0_144] 位于org.springframework.boot.loader.MainMethodRunner.runMainMethodRunner.java:48[spring-boot-mybatis-0.0.1-SNAPSHOT.war:0.0.1-SNAPSHOT] 在org.springframework.boot.loader.Launcher.launchLauncher.java:87[spring-boot-mybatis-0.0.1-SNAPSHOT.war:0.0.1-SNAPSHOT] 在org.springframework.boot.loader.Launcher.launchLauncher.java:50[spring-boot-mybatis-0.0.1-SNAPSHOT.war:0.0.1-SNAPSHOT] 位于org.springframework.boot.loader.WarLauncher.mainswarlauncher.java:59[spring-boot-mybatis-0.0.1-SNAPSHOT.war:0.0.1-SNAPSHOT] 原因:org.springframework.beans.factory.unsatifiedependencyException:创建名为“usersMapper”的bean时出错,该名称在URL[jar:file:/C:/Users/KhoaNA/Desktop/test/spring-boot-mybatis-0.0.1-SNAPSHOT.war!/WEB-INF/classes!/com/techprimers/mybatis/springbootmybatis/mapper/usersMapper.class]:通过bean属性“sqlSessionFactory”表示的未满足的依赖关系;嵌套异常为org.springframework.beans.factory.BeanCreationException:在类路径资源[org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]中定义了名为“sqlSessionFactory”的bean时出错:通过工厂方法实例化bean失败;嵌套异常为org.springframework.beans.beanstantiationException:未能实例化[org.apache.ibatis.session.SqlSessionFactory]:工厂方法“SqlSessionFactory”引发异常;嵌套异常为org.springframework.core.NestedIOException:未能解析映射资源:“URL[jar:file:C:\Users\KhoaNA\Desktop\test\spring-boot-mybatis-0.0.1-SNAPSHOT.war!/WEB-INF/classes/vn/hipt/fas/sql/MenuMapper.xml]”;嵌套异常为org.apache.ibatis.builder.BuilderException:解析映射器XML时出错。原因:java.lang.IllegalArgumentException:映射语句集合已包含com.techprimers.mybatis.springbootmybatis.mapper.UsersMapper.findUserById的值 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByTypeAbstractAutowireCapableBeanFactory.java:1357~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBeanAbstractAutowireCapableBeanFactory.java:1249~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBeanAbstractAutowireCapableBeanFactory.java:553~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanAbstractAutowireCapableBeanFactory.java:483~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.AbstractBeanFactory$1.getObjectAbstractBeanFactory.java:306~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingletonDefaultSingletonBeanRegistry.java:230~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBeanAbstractBeanFactory.java:302~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.AbstractBeanFactory.getBeanAbstractBeanFactory.java:202~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.config.DependencyDescriptor.resolvedCandidateDependencyDescriptor.java:208~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependencyDefaultListableBeanFactory.java:1138~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependencyDefaultListableBeanFactory.java:1066~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgumentConstructorResolver.java:835~[spring-beans-4.3.9。 RELEASE.jar!/:4.3.9.发布] 在org.springframework.beans.factory.support.ConstructorResolver.createArgumentArrayConstructorResolver.java:741~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] ... 省略了27个公共框架 原因:org.springframework.beans.factory.BeanCreationException:创建名为“sqlSessionFactory”的bean时出错,该bean在类路径资源[org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]:通过工厂方法实例化bean失败;嵌套异常为org.springframework.beans.beanstantiationException:未能实例化[org.apache.ibatis.session.SqlSessionFactory]:工厂方法“SqlSessionFactory”引发异常;嵌套异常为org.springframework.core.NestedIOException:未能解析映射资源:“URL[jar:file:C:\Users\KhoaNA\Desktop\test\spring-boot-mybatis-0.0.1-SNAPSHOT.war!/WEB-INF/classes/vn/hipt/fas/sql/MenuMapper.xml]”;嵌套异常为org.apache.ibatis.builder.BuilderException:解析映射器XML时出错。原因:java.lang.IllegalArgumentException:映射语句集合已包含com.techprimers.mybatis.springbootmybatis.mapper.UsersMapper.findUserById的值 位于org.springframework.beans.factory.support.ConstructorResolver.instantiationUsingFactoryMethodConstructorResolver.java:599~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.InstanceUsingFactoryMethodAbstractAutoWireCapableBeanFactory.java:1173~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstanceAbstractAutowireCapableBeanFactory.java:1067~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBeanAbstractAutowireCapableBeanFactory.java:513~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanAbstractAutowireCapableBeanFactory.java:483~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.AbstractBeanFactory$1.getObjectAbstractBeanFactory.java:306~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingletonDefaultSingletonBeanRegistry.java:230~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBeanAbstractBeanFactory.java:302~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.AbstractBeanFactory.getBeanAbstractBeanFactory.java:202~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.config.DependencyDescriptor.resolvedCandidateDependencyDescriptor.java:208~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependencyDefaultListableBeanFactory.java:1138~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependencyDefaultListableBeanFactory.java:1066~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByTypeAbstractAutowireCapableBeanFactory.java:1342~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] ... 省略39个公共框架 原因:org.springframework.beans.beanstantiationexception:未能实例化[org.apache.ibatis.session.SqlSessionFactory]:工厂方法“SqlSessionFactory”引发异常;嵌套异常为org.springframework.core.NestedIOException:未能解析映射资源:“URL[jar:file:C:\Users\KhoaNA\Desktop\test\spring-boot-mybatis-0.0.1-SNAPSHOT.war!/WEB-INF/classes/vn/hipt/fas/sql/MenuMapper.xml]”;嵌套异常为org.apache.ibatis.builder.BuilderException:解析映射器XML时出错。原因:java.lang.IllegalArgumentException:映射语句集合已包含com.techprimers.mybatis.springbootmybatis.mapper.UsersMapper.findUserById的值 在org.springframework.beans.factory.support.SimpleInstanceStrategy.InstanceSimpleInstanceStrategy.java:189~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 位于org.springframework.beans.factory.support.ConstructorResolver.instantiationUsingFactoryMethodConstructorResolver.java:588~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] ... 省略51个公共帧 原因:org.springframework.core.NestedIOException:未能解析映射资源:“URL[jar:file:C:\Users\KhoaNA\Desktop\test\spring-boot-mybatis-0.0.1-SNAPSHOT.war!/WEB-INF/classes/vn/hipt/fas/sql/MenuMapper.xml]”;嵌套异常为org.apache.ibatis.builder.BuilderException:解析映射器XML时出错。原因:java.lang.IllegalArgum entException:映射语句集合已包含com.techprimers.mybatis.springbootmybatis.mapper.UsersMapper.finduserbyd的值 在org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactorySqlSessionFactoryBean.java:523~[mybatis-spring-1.3.1.jar!/:1.3.1] 在org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSetSqlSessionFactoryBean.java:380~[mybatis-spring-1.3.1.jar!/:1.3.1] 在org.mybatis.spring.SqlSessionFactoryBean.getObjectSqlSessionFactoryBean.java:547~[mybatis-spring-1.3.1.jar!/:1.3.1] 在org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactoryMybatisAutoConfiguration.java:139~[mybatis-spring-boot-autoconfigure-1.2.0.jar!/:1.2.0] 在org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$ea2ff066.CGLIB$sqlSessionFactory$1~[mybatis-spring-boot-autoconfigure-1.2.0.jar!/:1.2.0] 在org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$ea2ff066$$FastClassBySpringCGLIB$$311d2308.invoke~[mybatis-spring-boot-autoconfigure-1.2.0.jar!/:1.2.0] 在org.springframework.cglib.proxy.MethodProxy.invokeSuperMethodProxy.java:228~[spring-core-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.interceptConfigurationClassEnhancer.java:358~[spring-context-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] 在org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$ea2ff066.sqlSessionFactory~[mybatis-spring-boot-autoconfigure-1.2.0.jar!/:1.2.0] 在sun.reflect.NativeMethodAccessorImpl.invoke0Native方法~[na:1.8.0_144] 位于sun.reflect.NativeMethodAccessorImpl.invokeUnknown源~[na:1.8.0_144] 在sun.reflect.DelegatingMethodAccessorImpl.invokeUnknown Source~[na:1.8.0_144] 在java.lang.reflect.Method.invokeUnknown源代码处~[na:1.8.0_144] 在org.springframework.beans.factory.support.SimpleInstallationStrategy.InstanceSimpleInstanceStrategy.java:162~[spring-beans-4.3.9.RELEASE.jar!/:4.3.9.RELEASE] ... 省略52个公共帧 原因:org.apache.ibatis.builder.BuilderException:解析映射器XML时出错。原因:java.lang.IllegalArgumentException:映射语句集合已包含com.techprimers.mybatis.springbootmybatis.mapper.UsersMapper.findUserById的值 在org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElementXMLMapperBuilder.java:120~[mybatis-3.4.2.jar!/:3.4.2] 在org.apache.ibatis.builder.xml.XMLMapperBuilder.parseXMLMapperBuilder.java:92~[mybatis-3.4.2.jar!/:3.4.2] 在org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactorySqlSessionFactoryBean.java:521~[mybatis-spring-1.3.1.jar!/:1.3.1] ... 省略65个公共框架 原因:java.lang.IllegalArgumentException:映射语句集合已包含com.techprimers.mybatis.springbootmybatis.mapper.UsersMapper.findUserById的值 在org.apache.ibatis.session.Configuration$StrictMap.putConfiguration.java:859~[mybatis-3.4.2.jar!/:3.4.2] 在org.apache.ibatis.session.Configuration$StrictMap.putConfiguration.java:831~[mybatis-3.4.2.jar!/:3.4.2] 在org.apache.ibatis.session.Configuration.addMappedStatementConfiguration.java:655~[mybatis-3.4.2.jar!/:3.4.2] 在org.apache.ibatis.builder.MapperBuilderAssistant.addmappedstatementmpperbuilderassistant.java:302~[mybatis-3.4.2.jar!/:3.4.2] 在org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNodeXMLStatementBuilder.java:109~[mybatis-3.4.2.jar!/:3.4.2] 在org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContextXMLMapperBuilder.java:135~[mybatis-3.4.2.jar!/:3.4.2] 在org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContextXMLMapperBuilder.java:128~[mybatis-3.4.2.jar!/:3.4.2] 在org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElementXMLMapperBuilder.java:118~[mybatis-3.4.2.jar!/:3.4.2] ... 省略了67个公共框架

这是我的源代码:


请帮帮我!谢谢

我从第页找到了一个解决方案:

我应该使用MyBatis Spring Boot自动配置的默认值。不要更改配置映射器位置:classpath*:**/mapper/*.xml


谢谢大家

我也遵循了教程。问题不在于比利说了什么。问题是Sivalbs对mybatis.mapperLocations使用了禁止的值。您必须使用mybatis.mapper-locations和resources的相对文件夹。 例如:您希望扫描要素文件夹中组织的映射器

java
     main
     resources
              mapper
                    feautureA
                             featureAMapper.xml <- Mapper to scan
                    feautureB
                             featureBMapper.xml <- Mapper to scan
mybatis.mapper-locations=mapper/**/*.xml