将项目打包后发布到服务器上,结果运行后报异常:
Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
com.tisson.omp.quartz.ngcc1.dao.Ngcc1Dao.findAllAccess
说明扫描到了我的DAO接口,但无法注入Mapper或者说注入了null的Mapper。然而我把平常易错的地方都从新检查了一遍后任然没有发现错误的地方,但一直报这个异常。最后发现是在打包时maven没有把我的Mapper.xml文件一起打包进去,因为放的位置是在scr/main/java下而不是src/main/resources,所以maven默认是不帮我一起打包的需要自己手动配置pom来打包。然后重新配置pom后再打包,就把Mapper文件打包进去了。
在<build>标签中加入以下内容,即可将xml等文件打包在原路径下:
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.tld</include>
</includes>
<filtering>false</filtering>
<!--这里是false,用true会报 数据库连接 错误-->
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.tld</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>