2015-01-05 3 views
0

Я пытаюсь создать приложение с использованием maven и java. Часть его связана с базой данных MySQL. Для этого я использую Class.forName("com.mysql.jdbc.Driver");. Я также добавил тест mysql-connector-java' dependency to my pom.xml. However when I run МВН I receive the following error when the line соединение = DriverManager.getConnection ("JDBC: MySQL // kritsit.ddns.net: CaseTracker", имя пользователя, пароль) `выполняется:Зависимость Maven (MySQL-Connector) не найдена во время фазы тестирования

Running com.kritsit.casetracker.server.domain.services.DatabasePersistenceTest 
java.sql.SQLException: No suitable driver found for jdbc:mysql//kritsit.ddns.net:CaseTracker 
    at java.sql.DriverManager.getConnection(DriverManager.java:689) 
    at java.sql.DriverManager.getConnection(DriverManager.java:247) 
    at com.kritsit.casetracker.server.domain.services.DatabasePersistence.open(DatabasePersistence.java:26) 
    at com.kritsit.casetracker.server.domain.services.DatabasePersistenceTest.testOpen(DatabasePersistenceTest.java:28) 
    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:483) 
    at junit.framework.TestCase.runTest(TestCase.java:154) 
... 

Мой Maven pom.xml выглядят следующим образом (эллипсы показывают опущены блоки для краткости:

<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.kritsit.casetracker</groupId> 
    <artifactId>server</artifactId> 
    <packaging>jar</packaging> 
    <version>0.1a-SNAPSHOT</version> 
    <name>CaseTracker Server</name> 
    ... 
    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.34</version> 
     <scope>compile</scope> 
    </dependency> 

    <dependency> 
     <groupId>commons-lang</groupId> 
     <artifactId>commons-lang</artifactId> 
     <version>2.1</version> 
    </dependency> 

    <dependency> 
     <groupId>org.codehaus.plexus</groupId> 
     <artifactId>plexus-utils</artifactId> 
     <version>3.0.21</version> 
    </dependency> 
    </dependencies> 

    <build> 
    <plugins> 
     ... 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-dependency-plugin</artifactId> 
     <executions> 
      <execution> 
      <id>copy-dependencies</id> 
      <phase>package</phase> 
      <goals> 
       <goal>copy-dependencies</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${project.build.directory}/lib</outputDirectory> 
       <overWriteSnapshots>true</overWriteSnapshots> 
       <overWriteRelease>true</overWriteRelease> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 
     .... 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
     <version>2.5</version> 
     <configuration> 
      <archive> 
      <manifest> 
       <addClasspath>true</addClasspath> 
       <mainClass>com.kritsit.casetracker.server.CaseTrackerServer</mainClass> 
      </manifest> 
      </archive> 
     </configuration> 
     </plugin> 
     ... 
     <plugin> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.34</version> 
     </plugin> 
     .... 
    </plugins> 
</build> 
... 

Как не мне решить эту нет подходящего драйвера найденной проблемы

+0

Что является версией установленного Mysql? –

ответ

1

Правильно ли установлен URI JDBC? Это может быть отсутствие двоеточия после «mysql». Попробуйте

jdbc:mysql://kritsit.ddns.net:CaseTracker 

вместо jdbc:mysql//kritsit.ddns.net:CaseTracker

(URI синтаксиса от MySQL documentation)

+0

В этом была проблема, также отсутствовал порт. Правильный URI - это 'jdbc: mysql: //kritsit.ddns.net: 3306/CaseTracker' – paddatrapper

Смежные вопросы