项目部署到云服务器上后页面文字缺失以及响应错误的debug

一开始问群友说是接口问题,问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的问题。

第一次发,语言组织不好,也没什么排版,纯记录自己猪比过程。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值