nacos-group / nacos-spring-project

Nacos ECO Project for Spring Framework
https://nacos.io/
Apache License 2.0
755 stars 310 forks source link

NacosPropertiesBuilder类依赖lang3问题 #256

Closed liyanglin closed 3 years ago

liyanglin commented 3 years ago

https://github.com/alibaba/nacos/issues/5409#issuecomment-822904186

nacos-config-spring-boot-starter :autoconfigure中 NacosPropertiesBuilder 使用了lang3的StringUtils

image 但是在依赖的nacos-client中的api已经提供了StringUtils (method: isEmpty,isBlank) image 作为一个starter使用时还需要添加lang3依赖,出于对依赖的简洁性考虑此处的 import org.apache.commons.lang3.StringUtils; if(StringUtils.isNotEmpty(##)) 是否可以改成 import com.alibaba.nacos.api.utils.StringUtils if(!StringUtils.isEmpty(##)) @KeRan213539

KeRan213539 commented 3 years ago

com.alibaba.nacos.api.utils.StringUtils 计划将来要合并到 nacos-common 中, 而nacos-common中的工具类是提供给nacos自身使用的,随时会发生重构,移动,删除等操作,并非提供外部使用的api。虽然可以使用,但是容易造成版本间的兼容性问题。

liyanglin commented 3 years ago

com.alibaba.nacos.api.utils.StringUtils 计划将来要合并到 nacos-common 中, 而nacos-common中的工具类是提供给nacos自身使用的,随时会发生重构,移动,删除等操作,并非提供外部使用的api。虽然可以使用,但是容易造成版本间的兼容性问题。

随着nacos api计划合并到common后,可以理解为 autoconfigure后面也将不依赖nacos api了吧

KeRan213539 commented 3 years ago

com.alibaba.nacos.api.utils.StringUtils 计划将来要合并到 nacos-common 中, 而nacos-common中的工具类是提供给nacos自身使用的,随时会发生重构,移动,删除等操作,并非提供外部使用的api。虽然可以使用,但是容易造成版本间的兼容性问题。

随着nacos api计划合并到common后,可以理解为 autoconfigure后面也将不依赖nacos api了吧

理论上来说, nacos的包只会依赖 nacos-client