aliyun / aliyun-odps-jdbc

JDBC Driver for ODPS
Other
125 stars 38 forks source link

Relocate dependencies in a shade jar. #32

Closed BruceMu closed 7 years ago

BruceMu commented 7 years ago

There are many dependencies in the odps-jdpc project. As a user , i hope to use a pure jdbc driver without any jars in conflict with my application.

I think you can provider a shade jar, and relocate the dependencies like com.alibaba.fastjson to com.alibaba.odps.jdbc.fastjson. And then i can use any different fastjson version in may application;

emerson-zhao commented 7 years ago

谢谢你的反馈,Shade jar的relocate会引入其他问题,比如某些jar内部采用了字面量的方式去反射一个类,那么relocate之后由于原本对字面量的引用是hard code的,就会出现找不到类或反射到用户提供的jar包里的类去,另一方面shade会引入大量重复代码,造成jar包臃肿。所以处于通用考虑,我们并不打算提供shade包,如果你在个别case遇到需要shade且不受上述问题影响的场景时,可以clone本项目,自己用shade plugin打一个shade包就行了