首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

由于禁止的包名: java.sql,Java执行jar失败

这个问题是由于包名为java.sql的包在Java中是一个受限制的包名,无法直接使用。java.sql包是Java提供的用于数据库操作的标准API,包含了许多与数据库连接、查询和操作相关的类和接口。

在Java中,包名的命名规范是按照反向域名的方式进行命名,以确保包名的唯一性。由于java.sql是Java标准库中的一个包名,因此不建议在自己的项目中使用该包名作为自定义包名。

当尝试执行一个包含java.sql包的jar文件时,由于该包名是受限制的,Java虚拟机会拒绝加载该包名下的类,导致执行jar文件失败。

为了解决这个问题,我们可以采取以下几种方法:

  1. 修改包名:将项目中使用到java.sql包的部分代码进行修改,将包名改为其他合法的包名,避免与Java标准库中的包名冲突。
  2. 使用自定义类加载器:通过自定义类加载器加载包名为java.sql的类,绕过Java虚拟机对该包名的限制。这种方法比较复杂,需要对类加载机制有一定的了解。
  3. 使用其他数据库操作库:如果项目中需要进行数据库操作,可以考虑使用其他的数据库操作库,如MyBatis、Hibernate等。这些库提供了更灵活、功能更强大的数据库操作方式,可以避免直接使用java.sql包。

总结起来,由于java.sql包名是Java标准库中的一个受限制的包名,不建议在自己的项目中使用该包名作为自定义包名。在执行jar文件时,如果包含了java.sql包,会导致Java虚拟机加载失败。为了解决这个问题,可以修改包名、使用自定义类加载器或者使用其他数据库操作库。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

浅谈 java 中构建可执行 jar 几种方式

有时候,由于项目的需要,我们会将源码编译后以工具(class打成jar形式对外提供,此时, 你 jar 不一定要是可执行,只要能通过编译,能被别人以 import 方式调用就行了...但还有的 情况是,我们 jar 是要可执行,即能直接在 cmd 下直接运行。...需要注意是, 这种方式导出 jar 是不可执行,比如你执行如下语句: java -jar test.jar java -classpath test.jar com.test_maven.App...会直接报错:无法找到主类或者找不到 xxx 依赖/类,这是由于你没有定义 MANIFEST.MF 资源描述文件所致, 或者你直接把依赖 jar 包打进了你最终 jar,而这种嵌套依赖...mainClass:当用户使用 lib 命令执行 JAR 文件时,使用该元素定义将要执行

3.9K50
  • 浅谈Mybatis连接原理

    JDBC规范采用接口和实现分离思想设计了Java数据库编程框架。接口包含在java.sql及javax.sql中,其中java.sql属于JavaSE,javax.sql属于JavaEE。...为了使客户端程序独立于特定数据库驱动程序,JDBC规范建议开发者使用基于接口编程方式,即尽量使应用仅依赖java.sql及javax.sql中接口和类。...SPI实现方式是:提供实现实现类打包成Jar文件,这个Jar文件里面必须有META-INF目录,其下又有services目录,其下有一个文本文件,文件即为SPI接口全名,文件内容该jar中提供...SPI接口实现类。...大家看项目中Mybaitsjar会发现: private class SqlSessionInterceptor implements InvocationHandler { @Override

    87940

    Java连接MySQL数据库超级详细步骤(Windows)

    大家好,又见面了,我是你们朋友全栈君。 1. 数据准备 1. 下载JDK 下载Java开发工具JDK,下载待用。 2....安装Java开发工具JDK 1. 双击运行工具,一直确定即可安装完毕。 2. Java开发环境配置 安装完毕后,针对win10系统,鼠标右击【我电脑】——>[属性]。...进入系统【环境变量】设置 3.具体变量设置参数 变量JAVA_HOME 变量值:C:\Program Files\Java\jdk-14.0.1 // 要根据自己实际路径配置 变量...JAEs…,选择刚刚添加入项目libs中MySQL驱动程序jar,然后点击Apply and Close。...测试连接MySQl数据库 在项目中 src 目录下面有一个文件 module-info.java,打开它,里面的内容应该是: module 项目 {},需要在大括号中加一句话 requires java.sql

    3.2K20

    JDBC总述

    类库,(java.sql,javax.sql)使用这些类库可以以一种标准方法、方便地访问数据库资源。...JDBC体系结构 JDBC接口(API)包括两个层次: 面向应用API:Java API,抽象接口,供应用程序开发人员使用(连接数据库,执行SQL语句,获得结果)。...————面向接口编程 JDBC程序编写步骤 1.导入相关jarjava.sql,对应数据库厂商提供驱动 2.获取数据库连接:得到一个connection对象 3.使用preparedStatement...java类 表中一条记录对应java一个对象 表中一个字段对应java一个属性 sql是需要结合列名和表属性来写。...,Object ... args){} //② 使用dbutils提供jar中提供QueryRunner类 //提交数据 conn.commit(); } catch

    13840

    JDBC简介

    简单地说,就是用于执行SQL语句一类Java API,通过JDBC使得我们可以直接使用Java编程来对关系数据库进行操作。通过封装,可以使开发人员使用纯Java API完成SQL执行。...下图是我接下来用于演示数据库表。 ? 二、准备工作(二):下载数据库对应jar并导入 使用JDBC需要在工程中导入对应jar。...数据库与JDBC对应关系可以参考各种数据库对应jar、驱动类和URL格式。...在Eclipse下导入方法: 在工程图标上右击,选择”Properties”,在”Java Bulid Path”中选择”Add External JARs…”,选择下载并解压后获得jar。...(2)连接获取 在操作前必须先获取与数据库连接。 driver、url格式同样可以参考各种数据库对应jar、驱动类和URL格式。 ?

    56820

    大数据必学Java基础(九十一):JDBC概述

    ​JDBC概述一、什么是JDBCJDBC(Java DataBase Connectivity, Java数据库连接) ,是一种用于执行SQL语句Java API,为多种关系数据库提供统一访问,它由一组用...接口和PreparedStatement接口 ResultSet接口数据库厂商微软、甲骨文等分别提供实现JDBC接口驱动jar程序员学习JDBC规范来应用这些jar类。...二、JDBD历史版本及特征1、JDBC 1.0JDBC 1.0 随JDK1.1一起发布,JDBC操作相关接口和类位于java.sql中。...2、JDBC 2.0JDBC 2.0 API被划分为两部分:核心API和扩展API,有两个,分别是java.sql和javax.sql。...2.1、java.sql核心API包在支持新功能方面:包括结果集可以向后滚动,批量更新数据。另外,还提供了UNICODE字符集字符流操作。

    32691

    Java 控制台程序 JDBC连接数据库

    : com.mysql.jdbc.Driver 原因就是没有导入mysql-connector jar 首先下载mysql-connector jar https://dev.mysql.com/...屏幕快照 2018-12-03 15.40.44.png 4.选择刚才下载解压好jar 这样连接数据就成功了。运用输出 数据库驱动加载成功!...useSSL=false","root","pwd"); 运行后就没有警告信息了 说明 1.通过java.lang静态方法forName()来加载JDBC驱动程序,如果加载失败会抛出ClassNotFoundException...2.通过java.sql中类DriverManager静态方法getConnection(String url,String user, String passwird)建立数据库连接。...该方法3个参数依次指定预连接数据库路径、用户名、密码。返回Connection对象。如果连接失败,则抛出SQLException异常。

    89620

    在CMD窗口中使用javac和java命令进行编译和执行带有具有继承关系

    一、背景   最近在使用记事本编写带有并且有继承关系java代码并运行时发现出现了很多错误,经过努力一一被解决,今天我们来看一下会遇见哪些问题,并给出解决办法。...因为我们在编写程序时用到了,所以运行类文件时,需要完整名称,命令修改为:java com.hafiz.zhang.Zi 我们会发现出现以下错误 ?...代表在当前目录下创建路径)命令来进行编译,这样javac命令会自动帮我们创建所指定文件夹,并在该文件夹下创建Zi.class文件。 ?...由此我们得出了在CMD窗口中使用javac和java命令进行编译和执行带有具有继承关系方式: 1.使用javac -d . *.java进行编译 2.使用java com.hafiz.Zi(...带类全名)命令进行运行!

    1.6K40

    如何较方便给上百张数据库表添加表字段

    前言 年前和业务部门研发小伙伴聊天,他说由于之前表设计考虑不周全,导致业务表缺少了一些字段,他老大就把这个加表字段任务给他,咋一听挺简单,不就加些字段,但小伙伴烦恼地方在于需要加这些字段表大概有...脚本执行 如何实现这个sql脚本 实现这个sql脚本方式有很多种,本文就讲下利用java程序生成这个sql脚本。...它是java.sql类,利用它可以获取我们连接到数据库结构、存储等很多信息 其更多详细介绍可以查看如下链接 https://www.apiref.com/java11-zh/java.sql/...java/sql/DatabaseMetaData.html 核心代码实现 1、获取数据库下所有数据库表 /** * 获取数据库下所有数据库表 * * @return...最后我帮他实现整体方案是以flyway+java程序实现sql脚本方式实现。说明下小伙伴遇到这种业务场景是发生在业务开发阶段,而非生产环境。

    92320

    如何较方便给上百张数据库表添加表字段

    01前言 年前和业务部门研发小伙伴聊天,他说由于之前表设计考虑不周全,导致业务表缺少了一些字段,他老大就把这个加表字段任务给他,咋一听挺简单,不就加些字段,但小伙伴烦恼地方在于需要加这些字段表大概有...本文重点讲解方案三写sql脚本执行 04如何实现这个sql脚本 实现这个sql脚本方式有很多种,本文就讲下利用java程序生成这个sql脚本。...生成这个sql脚本关键在于DatabaseMetaData这个类,这个类是啥?它是java.sql类,利用它可以获取我们连接到数据库结构、存储等很多信息。...其更多详细介绍可以查看如下链接 https://www.apiref.com/java11-zh/java.sql/java/sql/DatabaseMetaData.html 05核心代码实现 01...获取数据库下所有数据库表 /** * 获取数据库下所有数据库表 * * @return Map> key为数据库名称,value

    48430

    Java基础-JDBC

    ,Java数据库连接) 是一种用于执行SQL语句Java API,为多种关系数据库提供统一访问 它由一组用Java语言编写类和接口组成 ?...JDBC API 提供者:Sun公司 内容:供程序员调用接口与类,集成在java.sql和javax.sql中,如 DriverManager类:作用:管理各种不同JDBC驱动 Connection...三方关系 SUN公司是规范制定者,制定了规范JDBC(连接数据库规范) 数据库厂商微软、甲骨文等分别提供实现JDBC接口驱动jar 程序员学习JDBC规范来应用这些jar类。 ?...可以通过调用setAutoCommit(false)来禁止自动提交。...之后就可以把多个数据库操作表达式作为一个事务,在操作完成后调用commit()来进行整 体提交, 倘若其中一个表达式操作失败,都不会执行到commit(),并且将产生响应异常; 此时就可以在异常捕获时调用

    61830

    JDBC技术(前篇)

    JDBC原理: 比如 买完电脑,装上显卡,还需要安装显卡驱动,那么显卡驱动程序是 显卡厂商提供。...JDBC操作数据库:mysql、oracle、DB2等数据库,前提是导入数据库驱动程序。 那么这些数据库驱动程序是谁提供?数据库厂商提供。...程序员通过操作JDBC这一组接口就可以操作不同数据库了。 1.2 JDBC常用API 1.Driver(接口):在java.sql包下面.里面常用方法是可以获取数据库驱动程序版本号。...ResultSet rs=executeQuery(); 6.ResultSet接口:在java.sql包下面,用来封装查询结果。...getXXX(字段名称/字段索引);//XXX为具体类型 1.3 实现第一个JDBC案例 --------简单查询案例链接 (点我) 通过java代码操作数据库具体步骤:(前提是导入数据库驱动jar

    32620

    关于几种常用数据库连接工具以及数据库连接池介绍

    1.1 JDBC是什么 Java DataBase Connectivity (Java语言来连接数据库) 1.2 JDBC本质什么 JDBC时SUN公司制定一套接口(interface) java.sql...使用完之后一定要关闭) 第三步 :获取数据库操作对象(专门执行sql语句对象) 第四步 :执行SQL语句(DQL、DML...)...资源 http://182.61.200.7:80/index.html http:// 通信协议 182.61.200.7 服务器IP地址 80 服务器上软件端口 index.html 服务器上某个资源...C3P0:数据库连接池技术 Druid:数据库连接技术,由阿里巴巴提供 C3P0连接池 实现步骤: 导入jar(两个) :c3p0-0.9.5.2.jar mchange-commons-java-...不要导入忘记导入数据库驱动jar。 定义配置文件: 名称:c3p0.properties 或者 c3p0-config.xml。 路径:直接将文件存储到src目录下。

    1.1K20

    Java 使用

    表示在当前所在路径下生成 --执行完命令后,会在制定路径下生成package所定义目录,class文件也会编译在目录下,但代码*.java文件不变位置;且在java解释程序时候,不要进入目录中解释...网络编程开发包 Java.sql 数据库程序开发包 Java.applet Applet程序开发包(在网页上嵌套程序) 淘汰【类似JavaScript...*.class 文件;在交付用户使用前,会使用jar命令,对class文件进行压缩,并且压缩都是以为单位; 定义多个java文件,随后打包编译java文件形成多个class文件; 其后,使用jar...命令剖析:jar命令 -创建文档 输出过程 档案 压缩.jar 压缩对象: F:\>jar –help 用法: jar [OPTION...] [ [--release VERSION] [-C...档案文件

    98820

    Java

    表示在当前所在路径下生成 --执行完命令后,会在制定路径下生成package所定义目录,class文件也会编译在目录下,但代码*.java文件不变位置;且在java解释程序时候,不要进入目录中解释...网络编程开发包 Java.sql 数据库程序开发包 Java.applet Applet程序开发包(在网页上嵌套程序) 淘汰【类似JavaScript...*.class 文件;在交付用户使用前,会使用jar命令,对class文件进行压缩,并且压缩都是以为单位; 定义多个java文件,随后打包编译java文件形成多个class文件; 其后,使用jar...命令剖析:jar命令 -创建文档 输出过程 档案 压缩.jar 压缩对象 F:\>jar –help 用法: jar [OPTION...] [ [--release VERSION]...档案文件

    1.1K20
    领券