无法加载ANT JDBC驱动程序[com.mysql.jdbc.Driver]?

时间:2014-03-06 19:18:45

标签: java mysql xml jdbc ant

我决定开始学习数据库,主要是关注MySQL。我想我会跟着this tutorial寄予厚望,希望能更好地理解这些东西是如何运作的,并且可以融入我们的程序中。但是我遇到了一个小问题,我不知道如何绕过它。

有几件事:

  • Ant已安装并附加到我的路径环境变量。
  • 我正在使用MySQL Community Edition数据库。
  • MySQL Connector J是我选择使用的连接器。它已添加到我的路径环境变量以及MYSQLDRIVER文件中mysql-build-properties.xml的表示属性。

当我在ant create-mysql-database中运行命令JDBCTutorial Directory时,它会给我一个错误说明以下内容:

     C:\[LOCATION]\JDBCTutorial ant create-mysql-database
     BUILD FAILED
     C:\[LOCATION]\JDBCTutorial\build.xml:73: Class
      **Not Found: JDBC driver com.mysql.jdbc.Driver could not be loaded**

查看build.xml上的line:73文件,我有以下内容:

70 <target name="create-mysql-database">
71    <sql driver="${DB.DRIVER}" url="${DB.URL.NEWDATABASE}" userid="${DB.USER}"
72         password="${DB.PASSWORD}" classpathref="CLASSPATH"
73         delimiter="${DB.DELIMITER}" autocommit="false" onerror="continue">
74      create database ${DB.SID};
75    </sql>
76 </target>  

build.xml文件使用包含以下内容的mysql-build-properties.xml文件:

<project name="MySQL Properties" default="all" basedir=".">

  <property name="JAVAC"          value="C:\\Program Files (x86)\\Java\\jdk1.7.0_21\\bin\\javac"/>
  <property name="JAVA"           value="C:\\Program Files (x86)\\Java\\jdk1.7.0_21\\bin\\java" />
  <property name="PROPERTIESFILE" value="properties/mysql-sample-properties.xml"/>
  <property name="MYSQLDRIVER"    value="C:\\Program Files (x86)\\MySQL\\MySQL Connector J\\mysql-connector-java-5.1.29-bin.jar"/>

  <path id="CLASSPATH">
    <pathelement location = "classes"/>
    <pathelement location = "${MYSQLDRIVER}"/>
    <pathelement location = "lib/JDBCTutorial.jar"/>
  </path>

  <property name="DB.VENDOR"          value="mysql"/>
  <property name="DB.DRIVER"          value="com.mysql.jdbc.Driver"/>
  <property name="DB.HOST"            value="localhost"/>
  <property name="DB.PORT"            value="3306"/>
  <property name="DB.SID"             value="testdb"/>
  <property name="DB.URL.NEWDATABASE" value="jdbc:mysql://${DB.HOST}:${DB.PORT}/?allowMultiQueries=true"/>
  <property name="DB.URL"             value="jdbc:mysql://${DB.HOST}:${DB.PORT}/${DB.SID}?allowMultiQueries=true"/>
  <property name="DB.USER"            value="root"/>
  <property name="DB.PASSWORD"        value="root"/>
  <property name="DB.DELIMITER"       value=";"/>

</project>

如果有人知道我的设置错误,请告诉我。

2 个答案:

答案 0 :(得分:7)

您的属性MYSQLDRIVER应指向JAR文件。不应该是mysql-connector-java-5.1.29-bin.jar而不是mysql-connector-java-5.1.29-bin吗?

也许您可以尝试将此JAR放入一个路径中不包含空格的位置。

答案 1 :(得分:0)

我的错误问题是由MYSQLDRIVER(像C:\\Program Files (x86)\\MySQL\\Connector.J 5.1\\mysql-connector-java-5.1.35-bin.jar这样的路径)中的单个“\”引起的,可能是由特殊字符的某些读取问题引起的