百度人脸识别SDK jar包冲突:
首先是百度人脸识别的SDK的Maven依赖:
com.baidu.aip
java-sdk
4.11.3
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3.1</version>
</dependency>
1.slf4j冲突
解决办法:忽略里面的slf4j包
<!--百度人脸识别-->
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.11.3</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
</exclusions>
</dependency>
2.和阿里巴巴短信接口json冲突,百度里面要用到jsonBuild,阿里aliyun-java-sdk-core 3.7.1版本包里面没有
解决办法:提升里面的gson版本到2.7
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.7</version>
<dependency>
3.这是一个小问题
测试人脸检测的时候里面的json 会和springboot里面的test启动器 json冲突
解决办法:忽略springboot里面的test依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>com.vaadin.external.google</groupId>
<artifactId>android-json</artifactId>
</exclusion>
</exclusions>
</dependency>
4.人脸比对
之前在用百度人脸业务的时候写的逻辑是这样的:第一次用户进行人脸认证,成功了获取用户的face_token字段,存入数据库。后面在用户进行人脸认证的时候拿取这个face_token和用户人脸照片的base64字符串做对比,可是出现了下面的坑爹情况,如果你当天进行人脸认证没问题OK,只要图片过关,就成功。可是你过几天在进行操作,就是不行,提示你没有照片信息。原因是:第一次在进行人脸检测的时候face_token是有有效期的,具体是24小时还是按当天结算的不清楚了,当时问的百度的工程师,最后解决还是拿第一次用户过关的照片来进行人脸认证的。 这点比较坑。用的小伙伴注意了,当时被坑了惨!