`
guoyiqi
  • 浏览: 1016418 次
社区版块
存档分类
最新评论

使用Maven和Mybatis开发时,遇到“java.sql.SQLException: No suitable driver found for http://maven.apache.org”

 
阅读更多

今天使用Maven和Mybatis,在Eclipse上开发j2ee的程序。本人刚学Mybatis,对Maven还算熟悉,看过书,用的时间不长。本想试下Mybatis的selectList,结果程序编译通过,运行时报错:


郁闷!

之前见过SQLException报错,说ClassNotFound的或者链接打不开的,可就是没见过

java.sql.SQLException: No suitable driver found for http://maven.apache.org

的,我重新把java代码看了一遍,并没有在java代码中发现http://maven.apache.org,使用Maven的mvn clean compile一遍,发现问题依旧,猛然心想,去target里看看Mybatis的configuration配置文件吧,结果找到原因了!

我的Mybatis的配置文件源码如下:


可经过Maven的mvn compile之后,变成了:


发现问题了吧?

是的,maven把Mybatis的${url}替换成http://maven.apache.org了!

为什么呢?

在maven的compile之前,有一个阶段(phase)是process-resources,这时resources插件会把src/main/resources里的xml用到的${XXX}变量替换成设定的值,而url值碰巧在项目pom文件中定义了:


又碰巧,我把Mybatis的配置文件放到src/main/resouces目录底下了……然后悲剧就发生了。


如何解决:

不让maven过滤resources目录下的Mybatis配置文件,及其mapper文件!

修改工程的POM文件:


让maven不过滤mybatis文件夹下的东西就可以了。

注意:我的mybatis的配置文件被我放到src/main/resouces/mybatis文件夹下了。



分享到:
评论
1 楼 mojunbin 2012-05-11  
哈哈.这个问题...比较隐晦啊.

相关推荐

    Java 连接 SQL Server 2008 方法与驱动文件

    在Java编程中,连接SQL Server 2008数据库通常涉及使用JDBC(Java Database Connectivity)API。JDBC是Java平台的一部分,它提供了一组标准接口和类,使得Java应用程序能够与各种数据库进行交互,包括SQL Server ...

    java连接sql server数据库增删改查

    在Java编程中,连接SQL Server数据库进行数据的增删改查是常见的操作。这涉及到Java的JDBC(Java Database Connectivity)技术,它提供了一种标准的API,使得Java程序能够与各种类型的数据库进行交互。本篇文章将...

    java连接SQL server 2008 的JDBC

    在本文中,我们将深入探讨如何使用Java连接到SQL Server 2008数据库,以及在这个过程中可能遇到的关键知识点。 首先,JDBC是Java API的一个部分,它为Java程序员提供了标准的接口,用于执行SQL语句并处理结果。要...

    spring mvc 项目错误,和一些配置

    java.sql.SQLException: No suitable driver - **原因**:表示Java环境未能找到合适的数据库驱动。 - **解决办法**: - 确认数据库驱动已添加至项目中。 - 配置正确的数据库连接字符串。 #### 16. Error ...

    Maven-java-数据库操作

    在Java编程中,Maven是一个不可或缺的工具,它是一个项目管理和综合工具,帮助开发者管理项目的构建、报告和文档。在"Maven-java-数据库操作"这个主题中,我们将深入探讨如何利用Maven配合Java进行数据库操作。 ...

    sql_server_3.rar_sqlserver jar

    - `sqljdbc_auth.dll`:这个动态链接库文件仅在使用Windows集成身份验证时需要,它允许Java应用通过Windows凭据来连接SQL Server。 描述中提到的“三个jar包”可能包括上述两个,还有一个可能是其他的辅助库,如...

    mybatis generator Java类方法生成

    mybatis generator Java类方法生成方法。附件是源码,可以直接运行,属于maven工程。 使用依赖: <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.45</version> </...

    java_mysql.zip_java连接mysql

    Java 连接 MySQL 数据库是开发 Web 应用或数据处理系统时常见的一项任务。JDBC(Java Database Connectivity)是 Java 平台的标准接口,它允许 Java 程序与各种数据库进行通信,包括 MySQL。在本文中,我们将深入...

    java mysql实现增删改查

    在IT行业中,数据库操作是应用程序开发的基础之一,Java与MySQL的结合使用尤为常见。本教程将探讨如何使用Java实现MySQL数据库中的增、删、改、查(CRUD)操作。首先,我们需要理解Java中的JDBC(Java Database ...

    java数据库第三方包和配置java数据库第三方包和配置

    本篇将详细探讨Java数据库第三方包的使用和配置,以及如何在项目中整合这些包。 一、常用的Java数据库第三方包 1. JDBC(Java Database Connectivity):这是Java标准API,用于与各种数据库进行通信。虽然JDBC提供...

    java连接mysql数据库实现简单的学生成绩管理

    在Java编程语言中,连接MySQL数据库是开发许多应用程序的基础,特别是涉及到数据存储和检索的系统。本教程将介绍如何使用Java实现一个简单的学生成绩管理系统,该系统完全基于控制台输出,适合Java初学者进行基础...

    java连接数据库实例

    在Java编程中,连接数据库是一项基础且至关重要的任务。它使得应用程序能够与各种数据库...在实际开发中,还可以结合DataSource进行更高效的连接管理,以及使用JdbcTemplate或MyBatis等高级框架进一步提升开发效率。

    mysql/oracle驱动jar包

    在Java编程中,数据库连接是不可或缺的部分,尤其是对于MySQL和Oracle这样的关系型数据库。这两个数据库系统广泛应用于企业级应用,而Java提供了丰富的API来与它们交互,这就是JDBC(Java Database Connectivity)。...

    java与数据库的操作案例-固定资产管理

    本案例以"java与数据库的操作案例-固定资产管理"为主题,将详细介绍如何使用Java连接SQL Server数据库,进行数据的增删改查操作,实现固定资产管理的程序化。 首先,我们需要了解Java连接数据库的基本步骤。在Java...

    java连接mysql数据库(JDBC驱动)

    Java连接MySQL数据库主要依赖于Java Database ...在实际开发中,可能还需要考虑连接池的使用,如Apache DBCP或C3P0,以提高性能和资源利用率。此外,还可以利用ORM框架如Hibernate或MyBatis简化数据库操作。

    java连接DB2数据库编程简介

    在实际开发中,通常会使用ORM框架,如Hibernate或MyBatis,它们简化了数据库操作,提供了对象关系映射功能,使得Java对象可以直接操作数据库表。 总的来说,Java连接DB2数据库涉及的关键点包括:引入JDBC驱动、建立...

    java连接数据库步骤.rar

    在Java编程中,连接数据库是常见的任务,尤其对于开发基于...在实际开发中,你可能还会遇到连接池管理(如C3P0、HikariCP)、ORM框架(如Hibernate、MyBatis)等更高级的话题,这些都是提升效率和代码质量的重要工具。

    java 连接数据库实现用户登录功能

    在Java编程中,连接数据库以实现用户登录功能是一项基础但重要的任务。这通常涉及到数据库的交互,如查询、验证用户凭据等。本教程将详细解释如何使用Java连接Oracle数据库来实现用户登录系统。 首先,我们需要了解...

    java数据库链接示例

    在Java编程语言中,与数据库进行交互是常见的需求,无论是开发Web应用、桌面应用还是服务端应用。数据库链接(Database Connection)是实现这一目标的基础,它允许Java程序发送SQL语句到数据库并处理返回的结果。本...

    springboot gbase.zip

    例如,捕获`java.sql.SQLException`及其子类,以处理可能出现的连接或查询错误。 7. **测试连接**: 创建一个简单的测试类,使用`@Autowired`注解注入DataSource,并调用`getConnection()`方法来验证配置是否成功。...

Global site tag (gtag.js) - Google Analytics