2016-02-11 3 views
0

я получаю ошибку:Класс не найден с Maven JDBC MySQL

Exception in thread "main" java.lang.ClassNotFoundException: ${jdbc.driver} 

при попытке создать проект Maven Netbeans, который может переключаться между MySQL и HSQL активизируя различные профили. Он получает данные соединения из файла database.properties и бросает эту ошибку, когда я пытаюсь ее запустить.

POM профиля:

<profile> 
     <id>mysql</id> 
     <dependencies> 
      <dependency> 
       <groupId>mysql</groupId> 
       <artifactId>mysql-connector-java</artifactId> 
       <version>5.1.6</version> 
       <scope>runtime</scope> 
      </dependency> 
     </dependencies> 
     <properties> 
      <mysql.url>jdbc:mysql://localhost/test</mysql.url> 
      <mysql.username>SA</mysql.username> 
      <mysql.password></mysql.password> 
      <mysql.driver>com.mysql.jdbc.Driver</mysql.driver> 
     </properties> 
    </profile> 

database.properties:

jdbc.url=${jdbc.url} 
jdbc.username=${jdbc.username} 
jdbc.password=${jdbc.password} 
jdbc.driver=${jdbc.driver} 

У меня есть "MySQL-разъем-Java-5.1.6.jar" создать как зависимостях, но это не кажется как мой водитель. Любая помощь будет высоко ценится

+0

Это выглядит как замещение в database.properties не было сделано – fge

+0

MySQL Connector/J 5.1.6 довольно старый, вы можете использовать более новую версию. –

ответ

0

Привет вам нужно иметь те же свойства (ключи) в каждом профиле, и должно быть ссылка в файле (для замены).

<properties> 
      <db.url>jdbc:mysql://localhost/test</db.url> 
      <db.username>SA</db.username> 
      <db.password></db.password> 
      <db.driver>com.mysql.jdbc.Driver</db.driver> 
</properties> 

затем

jdbc.url=${db.url} 
jdbc.username=${db.username} 
jdbc.password=${db.password} 
jdbc.driver=${db.driver} 

И последнее, но не в последнюю очередь вам необходимо активировать фильтрацию файла Собственость, который должен быть где-то в SRC/основные/ресурсы (любого пути в папке ресурсов это).

Добавление в вашем п что-то вроде этого

<resource> 
     <directory>src/main/resources</directory> 
     <filtering>true</filtering> 
</resource> 

См here подробности.

надежда, что помогает

+0

Привет, я пробовал это, но, к сожалению, не имел никакого значения, видимо, у меня уже была фильтрация, и моя каталог ресурсов, ссылающийся на теги build-> resources-> resource – Defa

+0

, делает mvn чистый пакет, и вы можете проверить свою целевую папку и посмотреть, что происходит в файле свойств. Где вы размещаете файл свойств (путь?) Src/main/resources /? src/main/resources/META-INF /? где-то в другом месте – javapapo

+0

Я сделал чистую установку раньше, и она не работала, но я делал еще один, теперь это сработало, я думаю? Теперь я получаю сообщение об ошибке «Исключение в потоке» main «com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Ошибка связи связи» Должен ли я настроить внешний mysql-db, чтобы заставить это работать, или это другая проблема полностью? – Defa

1

Вы можете попробовать заменить $ {} jdbc.driver с com.mysql.jdbc.Driver

+0

это дает ошибку «Исключение в потоке» main «java.sql.SQLException: Не найдено подходящего драйвера для $ {jdbc.url}' – Defa

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