• 项目中传递达梦JdbcDriver的依赖


    场景

    Sass项目最近要适配达梦数据库,因此在common包中引入了达梦数据库的jdbc依赖,

    这个依赖必须在官网中下载,然后copy到本地代码文件夹中,maven引入时使用 下面这种方式来做

    
    	com.dameng
    	DmJdbcDriver18
    	8.1.3.62
    	system
    	${project.basedir}/jar/DmJdbcDriver18.jar
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    这种方式有一个问题,就是这个项目打包后,这个项目的jar被引入到其他的项目时,这个system类型的jar并不会被带过去,

    使用网上的一些教程,例如将达梦下的类编译时拷贝到common的classes下,但是总是会有一些问题,这里可能是我对maven这块不太熟悉,所以没有找到更好的办法。

    解决方式

    因为我们的common包,每个人都可以检出到本地编译打包,所以这里就有一个可发挥的空间。

    我在common打包时,添加一个生命周期,提前将common中的达梦jar install到本地即可,然后common中引入达梦的jdbc使用正常的方式引入,如下两个代码示例

    
            
                
                    org.apache.maven.plugins
                    maven-install-plugin
                    
                        
                            install-system-dependency
                            validate
                            
                                install-file
                            
                            
                                ${project.basedir}/jar/DmJdbcDriver18.jar
                                com.dameng
                                DmJdbcDriver18
                                8.1.3.62
                                jar
                            
                        
                    
                
            
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
            
                com.dameng
                DmJdbcDriver18
                8.1.3.62
            
    
    • 1
    • 2
    • 3
    • 4
    • 5

    如此,便可正常使用了,因为我们本地有了这个jar,所以common在其他项目中引入时,便可以带着它的pom告诉其他项目在本地仓库中寻找达梦的jdbc jar包了,

    不过这种方式的无法做到的就是,如果这个common包是每个人自己拿不到的,而是直接放在私服上,让开发人员引入的,这里就会有问题,但是既然都有私服了,那么直接将达梦的jar直接上传到私服不就可以了?

    除非私服都没有,直接把common jar打成一个jar 发送给别人使用,那么对方可能没法引入达梦的jar,这时候要么让对方自己本地自行引入,要么考虑将达梦jar中的classes一起放入你打的jar中,如果有其他更好的方式,也可留言告知。

  • 相关阅读:
    python学习笔记(7)—— 类
    C# 海康威视平台API接入 和网页摄像头部署
    【SpringMVC笔记13】SpringMVC集成Freemarker模板引擎
    React常见面试题
    windows下通过mingw编译ffmpeg同时集成x264和x265完全指南
    UGUI交互组件Button
    客户端Socket传输
    Linux系统编程(七)网络编程TCP、UDP
    应用软件安全编程-20生成强随机数
    PDF控件Spire.PDF for .NET【转换】演示:将 PDF 转换为 word、HTML、SVG、XPS
  • 原文地址:https://blog.csdn.net/cainiao1412/article/details/134265750