项目中遇到问题总结

23 篇文章 0 订阅
22 篇文章 0 订阅

     发现自己很久没有更新自己的博客了,马上都是四月底了,自己却一篇文章都没写了,以前说的一周一篇,一个月下来也是四篇文章,但是现在来看一个月一篇都不行,看来自己还是需要好好督促自己。开始总结下最近一两个月来在工作中遇到的问题。

一:在/src/main/resources 下创建目录存储下载模板Excel文件

   场景:需要在该工程编译的JAR包打成docker镜像,然后提供接口给前端,下载模板,然后发现在docker运行中发现总是去读取文件是不行的。然后通过测试,在使用mvn clean installl生成jar包时候,在target目下下也生成了创建的目录,但是在本地打开其中的excel,发现文件已经损坏,就是用maven命令后,生成的文件已经损坏,所以代码去读取文件的时候总是读不到。

解决办法:不要再/src/main/resources下面创建目录存储模板。建议在工程目录下创建,然后存放模板,使用这种方式就不会出现将excel文件损坏情况。

二:引入第三方JAR包

  通过maven中管理Jar包,比如第三方只给了jar包,没有再maven仓库中,需要自己去编译,然后在pom.xml中配置,也可以用本地依赖方法,

<dependency>
            <groupId>com.hope.cloud</groupId>  <!--自定义-->
            <artifactId>CCP_REST_SMS_SDK</artifactId>    <!--自定义-->
            <version>1.0.0</version> <!--自定义-->
            <scope>system</scope> <!--system,类似provided,需要显式提供依赖的jar以后,Maven就不会在Repository中查找它-->
            <systemPath>${basedir}/libs/CCP_REST_SMS_SDK-1.0.0.jar
            </systemPath> <!--项目根目录下的lib文件夹下-->
        </dependency>

这种是某些SDK没有在maven仓库提供,所以直接依赖本地。

但是用maven build的时候,需要在<build></build>中添加如下代码:

<resources>
            <resource>
                <directory>${project.basedir}/libs</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>BOOT-INF/classes/</targetPath>
            </resource>
        </resources>

需要打包在BOOT_INF下,否则在调用第三方接口时候,会出现找不到的class。反正在这个地方我踩了好久的坑,特别还有就是第三方SDK不是maven工程,所有的依赖jar包都是在一个目录下这种,小心第三方中的依赖包版本是否和我们自己依赖包有冲突,特别是引用gson这种。解决包冲突可以用 dependency analyzer 插件去检查。

其实每一个开发的人,在项目中都会遇到踩过坑的问题,记录下来,这样自己也可以发现问题,别人也会借鉴下,当然自己很多地方写的不足,如果大家在项目中遇到过其他的坑点,在下方留言。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值