报错原因:
使用maven进行打包发布项目时,maven无法对src/main/java下面的xml文件进行编译打包 目录结构:此项目的mapper包下的BankLogMapper.xml无法编译打包
解决办法一:
1.所以必须在pom.xml文件中添加下面代码
<build>
...
<resources>
...
<resource>
<directory>src/main/java
</directory>
<includes>
<include>**/*.xml
</include>
</includes>
<filtering>true
</filtering>
</resource>
</resources>
</build>
解决办法二:
2.在项目结构设计的时候,把所有的配置文件都放到resources中管理 目录结构:
报错代码:
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'org.mybatis.spring.mapper.MapperScannerConfigurer
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:
359)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:
108)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:
1469)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:
1214)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
537)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
476)
at org.springframework.beans.factory.support.AbstractBeanFactory$
1.getObject(AbstractBeanFactory.java:
302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
198)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:
116)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:
606)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
462)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:
403)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:
306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:
106)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:
4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:
5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:
150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:
901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:
877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:
633)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:
1551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:
498)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:
301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:
819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:
801)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:
622)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:
569)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:
498)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:
301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:
819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:
801)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:
1468)
at javax.management.remote.rmi.RMIConnectionImpl.access$
300(RMIConnectionImpl.java:
76)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.
run(RMIConnectionImpl.java:
1309)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:
1401)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:
829)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:
498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:
324)
at sun.rmi.transport.Transport$
1.run(Transport.java:
200)
at sun.rmi.transport.Transport$
1.run(Transport.java:
197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:
196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:
568)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:
826)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$
run$
0(TCPTransport.java:
683)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.
run(TCPTransport.java:
682)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.
run(ThreadPoolExecutor.java:
617)
at java.lang.Thread.
run(Thread.java:
745)
Caused
by: org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'sqlSessionFactory' defined
in class path resource [config/applicationContext.xml]: Initialization
of bean failed; nested exception
is org.springframework.beans.TypeMismatchException: Failed
to convert
property value
of type 'java.lang.String'
to required type 'org.springframework.core.io.Resource[]'
for property 'mapperLocations'; nested exception
is java.lang.IllegalArgumentException: Could
not resolve resource location pattern [classpath:com/cp/bank/mapper/xml/*.xml]:
class path resource [com/cp/bank/mapper/xml/] cannot be resolved
to URL because
it does not exist
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
547)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
476)
at org.springframework.beans.factory.support.AbstractBeanFactory$
1.getObject(AbstractBeanFactory.java:
302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
193)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:
351)
...
60 more
Caused
by: org.springframework.beans.TypeMismatchException: Failed
to convert
property value
of type 'java.lang.String'
to required type 'org.springframework.core.io.Resource[]'
for property 'mapperLocations'; nested exception
is java.lang.IllegalArgumentException: Could
not resolve resource location pattern [classpath:com/cp/bank/mapper/xml/*.xml]:
class path resource [com/cp/bank/mapper/xml/] cannot be resolved
to URL because
it does not exist
at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:
480)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:
511)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:
505)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:
1515)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:
1474)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:
1214)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
537)
...
66 more
Caused
by: java.lang.IllegalArgumentException: Could
not resolve resource location pattern [classpath:com/cp/bank/mapper/xml/*.xml]:
class path resource [com/cp/bank/mapper/xml/] cannot be resolved
to URL because
it does not exist
at org.springframework.core.io.support.ResourceArrayPropertyEditor.setAsText(ResourceArrayPropertyEditor.java:
140)
at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:
450)
at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:
423)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:
195)
at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:
460)
...
72 more
2017-
07-
10 15:
35:
34,
569 ERROR (org.springframework.web.context.ContextLoader:
331) - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'org.mybatis.spring.mapper.MapperScannerConfigurer
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:
359)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:
108)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:
1469)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:
1214)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
537)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
476)
at org.springframework.beans.factory.support.AbstractBeanFactory$
1.getObject(AbstractBeanFactory.java:
302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
198)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:
116)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:
606)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
462)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:
403)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:
306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:
106)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:
4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:
5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:
150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:
901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:
877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:
633)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:
1551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:
498)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:
301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:
819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:
801)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:
622)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:
569)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:
498)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:
301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:
819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:
801)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:
1468)
at javax.management.remote.rmi.RMIConnectionImpl.access$
300(RMIConnectionImpl.java:
76)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.
run(RMIConnectionImpl.java:
1309)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:
1401)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:
829)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:
498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:
324)
at sun.rmi.transport.Transport$
1.run(Transport.java:
200)
at sun.rmi.transport.Transport$
1.run(Transport.java:
197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:
196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:
568)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:
826)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$
run$
0(TCPTransport.java:
683)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.
run(TCPTransport.java:
682)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.
run(ThreadPoolExecutor.java:
617)
at java.lang.Thread.
run(Thread.java:
745)
Caused
by: org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'sqlSessionFactory' defined
in class path resource [config/applicationContext.xml]: Initialization
of bean failed; nested exception
is org.springframework.beans.TypeMismatchException: Failed
to convert
property value
of type 'java.lang.String'
to required type 'org.springframework.core.io.Resource[]'
for property 'mapperLocations'; nested exception
is java.lang.IllegalArgumentException: Could
not resolve resource location pattern [classpath:com/cp/bank/mapper/xml/*.xml]:
class path resource [com/cp/bank/mapper/xml/] cannot be resolved
to URL because
it does not exist
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
547)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:
476)
at org.springframework.beans.factory.support.AbstractBeanFactory$
1.getObject(AbstractBeanFactory.java:
302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:
230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:
298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
193)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:
351)
...
60 more
Caused
by: org.springframework.beans.TypeMismatchException: Failed
to convert
property value
of type 'java.lang.String'
to required type 'org.springframework.core.io.Resource[]'
for property 'mapperLocations'; nested exception
is java.lang.IllegalArgumentException: Could
not resolve resource location pattern [classpath:com/cp/bank/mapper/xml/*.xml]:
class path resource [com/cp/bank/mapper/xml/] cannot be resolved
to URL because
it does not exist
at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:
480)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:
511)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:
505)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:
1515)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:
1474)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:
1214)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:
537)
...
66 more
Caused
by: java.lang.IllegalArgumentException: Could
not resolve resource location pattern [classpath:com/cp/bank/mapper/xml/*.xml]:
class path resource [com/cp/bank/mapper/xml/] cannot be resolved
to URL because
it does not exist
at org.springframework.core.io.support.ResourceArrayPropertyEditor.setAsText(ResourceArrayPropertyEditor.java:
140)
at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:
450)
at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:
423)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:
195)
at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:
460)
...
72 more