Spring boot 使用bootRun但不使用java-jar运行的项目
有类似的问题 我使用Spring boot 使用bootRun但不使用java-jar运行的项目,spring-boot,gradle,mybatis,Spring Boot,Gradle,Mybatis,有类似的问题 我使用/gradlew bootRun 当我使用/gradlew bootRun运行我的项目时,它可以工作,但不使用java-jar build/libs/My_application.jar它会给我以下错误: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.dao.UserDao.insert at org.apache.ibatis.
/gradlew bootRun
当我使用/gradlew bootRun
运行我的项目时,它可以工作,但不使用java-jar build/libs/My_application.jar
它会给我以下错误:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.dao.UserDao.insert
at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:230) ~[mybatis-3.4.2.jar!/:3.4.2]
...
org.apache.ibatis.binding.BindingException:无效的绑定语句(未找到):com.example.dao.UserDao.insert
在org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:230)~[mybatis-3.4.2.jar!/:3.4.2]
...
这里有什么区别?为什么它不能和罐子一起运行 我的问题通过使用大写字母的
mybatis
XML
文件名解决了。但是仍然不清楚为什么bootRun
能够用小写字母找到它,而java-jar
不能 根据您的后续评论,最可能的解释是bootRun
从不区分大小写的文件系统读取文件。另一方面,jar中的定位文件是区分大小写的。很可能是因为该文件是从bootRun
中的文件系统读取的,它必须不区分大小写,而在jar中,名称是区分大小写的。