一开始问群友说是接口问题,问ai也没debug出来,后面看了一下index.html确实没啥问题,也跟什么跨域问题没关系。
后来深入一看是跟mybatis有关系,以为是Mapper XML 文件没有被正确打包到 JAR 中,不断clean,package把jar通过scp······传到云服务器上,结果发现没鸟用
还有可能的原因:
Mapper XML 文件没有被正确打包到 JAR 中
Mapper XML 的 namespace 与 DAO 接口不匹配
MyBatis 的 mapper-locations 配置不正确
资源文件的过滤配置问题
pom.xml的<build>的<resources>下,难道把xml文件都屏蔽了导致没上传到服务器吗?
然后又乱加东西,甚至application中加mapperscan,最后发现不是。
后面发现一个文件名写错了,notify_task.xml写成nofify_task.xml,我以为有突破口了,结果跟里面的namespace没关系,映射得好好的。
没招了只能先睡一觉,因为docker构建那些不熟很多都是ai搞然后小修小改,中间经历密码不匹配,部署环境和容器不一致等等(大概就是有些没加正确的密码),然后弄了几个强密码。
一开始是想直接clone别人的,后面发现docker-compose各种不匹配,镜像死活过不了,后面打算搞自己的,后面不断试错,成功了,阿里云的那个申请好像付费。
然后基础镜像就直接用这个,通过了
反正注意jar包名字和你文件夹那个对应
还有docker-compose一些容器版本可能也要注意,有些mysql5和mysql8是不一样的

记得配置环境变量cp .env.example .env
vi .env(copilot教我的)
绕来绕去还是这个xml的问题,MyBatis Mapper XML 文件在打包时被破坏了?
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering> <!-- 会破坏 XML 文件 -->然后我把这个改成false了
<includes>
<include>**/**</include>
</includes>
</resource>
尽可能不让他过滤:
<resources>
<!-- 只对配置文件启用过滤 -->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.yml</include>
<include>**/*.yaml</include>
<include>**/*.properties</include>
</includes>
</resource>
<!-- XML 文件禁用过滤 -->
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
看了服务器docker日志没有再出现BindingException: Invalid bound statement (not found)了
总结下来感觉自己太依赖ai了,ai小鬼,焦虑感觉要被ai取代了。对各种debug操作还是不熟悉,每次小修小改后日志还是不变的错误。
ps:正好今天gemini3.0pro出了,尝试了一下还是挺强的,刚开始用思考过程有点慢,虽然最后还是claude4.5发现filtering的问题。
第一次发,语言组织不好,也没什么排版,纯记录自己猪比过程。






