Зависимость, указанная в файле pom, не найдена в развернутом проекте - PullRequest
1 голос
/ 28 марта 2019

Я задал вопрос здесь , который, я думаю, мог найти корень.У меня есть приложение Spring Boot, использующее источник данных net.sourceforge.jtds.jdbc.Driver, который должен быть транзитивно включен в Spring Boot 2.0.2 с spring-boot-starter-jpa.Однако, когда я запускаю

jar tf my.jar | grep jtds

, класс драйвера не найден (у нас нет исполняемого файла maven на сервере для перечисления пути к классам).Все, что я делаю для проверки пути к классу, отражает, что банку там нет.

Я сделал это в 2 сценариях: 1) Когда я не добавил банку явно в мою помпу, я получил ошибкусообщили в моем предыдущем посте.2) Когда я делаю , добавляю это явно в пом, я получаю эту ошибку:

java.lang.IllegalStateException: Cannot load driver class: net.sourceforge.jtds.jdbc.Driver

Может кто-нибудь сказать мне, что происходит ??Я не понимаю, почему этот класс не может быть найден и загружен.

Ответы [ 3 ]

0 голосов
/ 28 марта 2019

Хорошо, проблема была решена путем добавления зависимости с областью действия runtime.

0 голосов
/ 28 марта 2019

В дочернем паке, куда упакован jar, у вас должен быть плагин spring-boot-maven-plugin.и зависимость, как показано ниже:

<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
</dependency>

В родительском пом:

<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>${jtds.version}</version>
</dependency>
0 голосов
/ 28 марта 2019

Обратите внимание, что в POM Spring Boot Parent зависимость jtds включена только в test scope .

Если вы хотите использовать классы этой зависимости также в вашем производствекод, пожалуйста, измените Maven scope на compile.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...