将所需的驱动程序包含在maven-assembly-plugin中时,找不到合适的驱动程序。

天天见闻 天天见闻 2023-03-21 科技 阅读: 117
摘要: JDBC驱动程序发现机制依赖于一个名为的文件/meta-inf/services/java.sql.Driver,maven-assembly-pluginpack.name.MainClass˂jar-with-dependencies˂11.2.0.3version˃/version˃˂

如何解决将所需的驱动程序包含在maven-assembly-plugin中时,找不到合适的驱动程序。?

如果您Class.forName(...)不习惯手动加载驱动程序,那么我认为您会遇到一个臭名昭著的问题maven-assembly- plugin-当文件来自不同jars 时,它会覆盖具有相同名称的文件。

在您的情况下,JDBC驱动程序发现机制依赖于一个名为的文件/meta-inf/services/java.sql.Driver,并且您的依赖项中至少有两个jar包含这样的文件(Oracle和Postgres驱动程序),因此其中一个会在运行后丢失maven- assembly-plugin

您可以使用maven-shade-plugin,而不是maven-assembly- plugin作为描述这些文件正确地将合并,在这里。

或者,您可以使用Class.forName(...)躲避失败的自动发现机制。

解决方法

我也有一个非常小的数据库,可与PostgreSQL数据库一起使用,将其作为单个jar使用将非常方便。所以确实我已经尝试过使用maven-assembly-plugin,如下所示:

maven-assembly-plugin
                2.3
                
                    
                        
                            pack.name.MainClass
                        
                    
                    
                        jar-with-dependencies
                    
                

它运行得很好,我可以看到我添加到jar文件中的所有文件,包括驱动程序的文件,但是当我尝试运行它时,我得到了:

java.sql.SQLException: No suitable driver found for jdbc:postgresql://:5432/dbname

我有这个:


        
            com.oracle
            ojdbc6
            11.2.0.3
         
        
            postgresql
            postgresql
            9.1-901-1.jdbc4
        

在依赖关系中,URL与我上面写的完全一样(除了经过审查的地址:))。我想念什么?

谢谢!

其他相关
10款免费安卓文件管理器横评,除了ES文件浏览器真没一个能打的

10款免费安卓文件管理器横评,除了ES文件浏览器真没一个能打的

作者: 天天见闻 时间:2023-12-20 阅读: 58
文件浏览/管理器是每个Android手机用户离不开的APP,但系统自带的文件管理器一般较弱,没有网络功能等,需要安装第三方文件管理器。过了一段时间,我遇到了ES浏览器,一看就离不开了,这几年一直是我手机需要和常用的APP,在启动屏幕上官方自称是“安卓第一文件管理器”,在一定程度上也很有名。...
电脑搜文件太慢?教你解决!

电脑搜文件太慢?教你解决!

作者: 天天见闻 时间:2023-08-24 阅读: 190
用电脑找文件太晚了吗?这篇文章将介绍几种简单实用的方法来加快计算机搜索文件的速度,但在使用计算机搜索文件时,可能缺少计算机硬盘的存储空间,您需要清理计算机硬盘,您也可以使用计算机自带的磁盘清理程序进行清理,从而提高计算机搜索文件的速度。使用专业的文档检索软件也可以提高计算机检索文档的速度,这些软件可以对文档进行全面索引,快速找到搜索文档时所需的内容。...
微信群设置铃声攻略

微信群设置铃声攻略

作者: 天天见闻 时间:2023-08-12 阅读: 562
微信群设置铃声攻略是一项非常实用的技术,设置微信群铃声可以增加群的趣味性,但修改铃声是一项简单的任务:1、进入微信群聊天界面;选择铃声文件上传“如果您已经有了自己喜欢的铃声文件,通过以下两种方法选择自定义铃声”上传铃声“上传铃声”即可选择自定义铃声。即可选择本地铃声文件上载,上传自定义铃声时,仅支持1、mp3格式的铃声文件;3、上传的铃声文件不得超过30秒。...
【小白必看】苹果手机Office文件夹在哪找?

【小白必看】苹果手机Office文件夹在哪找?

作者: 天天见闻 时间:2023-07-31 阅读: 221
本文将讨论如何查找iPhone Office文件夹,因此这些文档、表单、幻灯片等文件默认保存在iWork文件夹中?IWork文件夹由Pages、Numbers和Keynote创建、编辑文件,支持导入和导出,iWork文件夹可以进一步分类来存放文件,iWork文件夹是Office套件归档文档的主要路径,其中iWork文件夹具有iWork文件夹,可通过邮件、AirDrop、信息等共享文件。...
EasyRecovery15激活密钥 EasyRecovery15安装破解教程

EasyRecovery15激活密钥 EasyRecovery15安装破解教程

作者: 天天见闻 时间:2023-07-30 阅读: 437
1、下载软件压缩包文件;2、阅读软件许可协议;完成后点击许可协议选择“必须接受协议才能继续安装软件”的软件安装地点,是针对该程序编写的启动破解程序,选择软件安装位置:安装向导默认设置的软件默认安装路径为“7,软件安装完成。安装向导提示软件安装完成向导,8、将破解文件下的子文件复制到软件文件中“9,双击打开EasyRecovery云版本软件”...
dbr文件怎么打开(Db文件怎么打开)

dbr文件怎么打开(Db文件怎么打开)

作者: 天天见闻 时间:2023-07-30 阅读: 73
Dbr如何打开文件?(Db如何打开文件?使用时选择分区(fat32、NTFS等),在使用计算机或其他设备操作、读取和写入数据时,经常会将数据分类存储在不同的磁盘(即分区)中,从而导致错误地删除磁盘,让我们来看看文件系统Fast结构...
我来说两句

年度爆文