2017-01-05 1 views
-1

私はSwingアプリケーションを開発しようとしており、MySQL 5データベースへの接続が含まれています。だから、私はMavenを使ってmysqlコネクタ依存関係を取得しましたが、java.lang.ClassNotFoundException:mysql-connector-java-5.1.6.jarを取得します。javaプロジェクトのMySQLドライバ

マイコード: のpom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>5.1.6</version> 
</project> 

接続方法:私が得る

public Connection connect() throws ClassNotFoundException, SQLException { 
     Class.forName("com.mysql.jdbc.driver"); 
     Connection connection= DriverManager.getConnection(
       "jdbc:mysql://localhost:3306/myDatabase","root",""); 
     return connection; 
    } 

例外:

java.lang.ClassNotFoundException: com.mysql.jdbc.driver 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:264) 
at Test.connect(Main.java:29) 
at Test.<init>(Main.java:21) 
at Main.main(Main.java:11) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 

ディレクトリ構造: Directory structure

プロジェクトのクラスパスにコネクタjarを追加しました。私はIntellij IDE を使用していますが、何らかの理由で接続しません。助言がありますか?

+1

する必要がありますが、それは 'Class.forNameの(すべきではありません」 com.mysql.jdbc.driver ")'? – user2004685

+0

ええ、私もそれを試しましたが、痛みは私に例外を与える – user4080732

+0

どのような例外?同じもの? – RamPrakash

答えて

0

pom.xmlを介してmysql-connector-javaに依存関係を提供する必要があります。

<dependencies> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.6</version> 
    </dependency> 
</dependencies> 

をpom.xmlに追加します(名前はpom.xmlであり、名前はmaven.xmlではありません)。

あなた自身のgroupId、たartifactIdとバージョンはもちろん、独自のプロジェクトを反映すべきである - 最後に次のpom.xmlだろうので:ところで

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>mygroup</groupId> 
    <artifactId>myartifact</artifactId> 
    <version>1.0.0-SNAPSHOT</version> 

    <dependencies> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.6</version> 
    </dependency> 
    </dependencies> 
</project> 

を:5.1.6は古いです - のためhttps://mvnrepository.com/artifact/mysql/mysql-connector-javaをチェック現在の(現在は6.0.5)

そして - user2004685が指摘したように、それはClass.forNameの( "はcom.mysql.jdbc.Driver")

+0

私は誤ってmaven.xmlを書きました。実際にはpom.xmlファイル – user4080732

+0

ですが、「com.mysql.jdbc.driver」という名前に変更しましたが、まだ運がありません – user4080732

+0

正確な例外を投稿してください – Sebastian

関連する問題