Redis соединение не удалось - PullRequest
0 голосов
/ 07 октября 2018

Я бы хотел работать с Redis для манипулирования сессиями. Но я получаю ошибку при запуске приложения весенней загрузки. Так что я предполагаю, что эта ошибка происходит из-за зависимостей maven, особенно из-за конфликтов версий.

Вот мойзависимости maven:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.session</groupId>
        <artifactId>spring-session-data-redis</artifactId>
        <version>1.7.0.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>io.lettuce</groupId>
        <artifactId>lettuce-core</artifactId>
        <version>5.0.0.RELEASE</version>
    </dependency>
</dependencies>

Обратите внимание, что в pom.xml я добавил две зависимости, в которых есть artifactId: spring-session-data-redis и lettuce-core . Эти зависимости соответственно отвечают за подключение Redis и обеспечивают безопасность потоков для сеансовых подключений.

Когда я запускаю приложение весенней загрузки, я получаю приведенную ниже ошибку:


Приложение не удалось запустить


Описание:

Была предпринята попытка вызвать метод org.springframework.data.redis.connection.RedisConnection.getConfig(Ljava / языки / String;) Ljava / Util / Список;но его не существует.Его класс org.springframework.data.redis.connection.RedisConnection доступен в следующих местах:

jar:file:/C:/Users/aoutir/.m2/repository/org/springframework/data/spring-data-redis/2.0.10.RELEASE/spring-data-redis-2.0.10.RELEASE.jar!/org/springframework/data/redis/connection/RedisConnection.class

Он был загружен из следующего местоположения:

file: / C:/Users/aoutir/.m2/repository/org/springframework/data/spring-data-redis/2.0.10.RELEASE/spring-data-redis-2.0.10.RELEASE.jar

Действие:

Исправьте путь к классу вашего приложения, чтобы оно содержало единственную совместимую версию org.springframework.data.redis.connection.RedisConnection

Пожалуйста, любая помощь очень ценится, заранее спасибо за вашеответить.

Ответы [ 3 ]

0 голосов
/ 07 октября 2018

Замените зависимость

 <dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
    <version>1.7.0.RELEASE</version>
 </dependency>

на

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-redis</artifactId>
</dependency>

Управление версиями выполняется автоматически, и запущенный инициализирует кэш Redis.

0 голосов
/ 22 ноября 2018

Я потратил целый день, чтобы решить точно такую ​​же проблему.И после целого дня исследований и разработок я нашел решение.

dependencies {
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
implementation('org.springframework.boot:spring-boot-starter-data-rest')
implementation('org.springframework.boot:spring-boot-starter-web')
implementation('org.springframework.boot:spring-boot-starter-security')
implementation('org.springframework.boot:spring-boot-starter-data-redis')
implementation('org.springframework.session:spring-session-data-redis')

runtimeOnly('org.springframework.boot:spring-boot-devtools')
testImplementation('org.springframework.boot:spring-boot-starter-test')
runtimeOnly('org.flywaydb:flyway-core')
runtimeOnly('com.h2database:h2')


// runtimeOnly('mysql:mysql-connector-java')

}

Используйте 'spring-boot-starter-data-redis' и 'spring-session-data-redis',Удалите зависимость lettuse, поскольку она включена в spring-boot-starter-data-redis как зависимость.

Вот ваши зависимости:

<dependencies>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-test</artifactId>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
</dependency>

0 голосов
/ 07 октября 2018

Просто удалите явную версию для spring-session-data-redis и перейдите с версией из родительского pom загрузочной пружины.

Если вы хотите изменить версию spring-session-data-redis, вы должны убедиться, что ни одна из транзитивных зависимостей не управляется родительским pom.Если я понижаю версию до версии 1.3 (версия 1.7 не может быть найдена), я получаю следующее несоответствие версий, обнаруженное mvn -X dependency:tree:

[ESC[1;36mDEBUGESC[m]    org.springframework.session:spring-session-data-redis:jar:1.3.3.RELEASE:compile
[ESC[1;36mDEBUGESC[m]       org.apache.commons:commons-pool2:jar:2.5.0:compile (version managed from 2.4.2)
[ESC[1;36mDEBUGESC[m]       org.springframework.data:spring-data-redis:jar:2.0.10.RELEASE:compile (version managed from 1.7.10.RELEASE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...