jedis
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>7.0.0</version>
</dependency><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">
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>7.0.0</version>
<name>Jedis</name>
<description>Jedis is a blazingly small and sane Redis java client.</description>
<url>https://github.com/redis/jedis</url>
<mailingLists>
<mailingList>
<name>Jedis Mailing List</name>
<post>jedis_redis@googlegroups.com</post>
<archive>
https://groups.google.com/group/jedis_redis
</archive>
</mailingList>
</mailingLists>
<licenses>
<license>
<name>MIT</name>
<url>https://github.com/redis/jedis/blob/master/LICENSE</url>
<distribution>repo</distribution>
</license>
</licenses>
<issueManagement>
<system>github</system>
<url>https://github.com/redis/jedis/issues</url>
</issueManagement>
<scm>
<connection>scm:git:git@github.com:redis/jedis.git</connection>
<url>scm:git:git@github.com:redis/jedis.git</url>
<developerConnection>https://github.com/redis/jedis/tree/master</developerConnection>
</scm>
<developers>
<developer>
<id>redis</id>
<name>Redis Ltd.</name>
<organization>Redis</organization>
<organizationUrl>https://redis.io</organizationUrl>
</developer>
</developers>
<properties>
<github.global.server>github</github.global.server>
<jedis.module.name>redis.clients.jedis</jedis.module.name>
<slf4j.version>1.7.36</slf4j.version>
<resilience4j.version>1.7.1</resilience4j.version>
<jackson.version>2.20.0</jackson.version>
<maven.surefire.version>3.5.4</maven.surefire.version>
<junit.version>5.13.4</junit.version>
<!-- Default JVM options for tests -->
<JVM_OPTS></JVM_OPTS>
<!-- Default excluded groups for tests - can be overridden from command line -->
<excludedGroupsForUnitTests>integration,scenario</excludedGroupsForUnitTests>
<skipUnitTests>false</skipUnitTests>
<skipIntegrationTests>false</skipIntegrationTests>
<skipScenarioTests>true</skipScenarioTests>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20250517</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.13.2</version>
</dependency>
<dependency>
<groupId>redis.clients.authentication</groupId>
<artifactId>redis-authx-core</artifactId>
<version>0.1.1-beta2</version>
</dependency>
<!-- Optional dependencies -->
<!-- UNIX socket connection support -->
<dependency>
<groupId>com.kohlschutter.junixsocket</groupId>
<artifactId>junixsocket-core</artifactId>
<version>2.10.1</version>
<type>pom</type>
<scope>test</scope>
</dependency>
<!-- Well-known text representation of geometry in RediSearch support -->
<dependency>
<groupId>org.locationtech.jts</groupId>
<artifactId>jts-core</artifactId>
<version>1.20.0</version>
<scope>test</scope>
</dependency>
<!-- test -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>4.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<version>4.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>${jackson.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.javacrumbs.json-unit</groupId>
<artifactId>json-unit</artifactId>
<version>2.40.1</version> <!-- 3.x requires Java 17 -->
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5-fluent</artifactId>
<version>5.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<version>4.3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>redis.clients.authentication</groupId>
<artifactId>redis-authx-entraid</artifactId>
<version>0.1.1-beta2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>eu.rekawek.toxiproxy</groupId>
<artifactId>toxiproxy-java</artifactId>
<version>2.1.11</version>
<scope>test</scope>
</dependency>
<!-- circuit breaker / failover -->
<dependency>
<groupId>io.github.resilience4j</groupId>
<artifactId>resilience4j-all</artifactId>
<version>${resilience4j.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.github.resilience4j</groupId>
<artifactId>resilience4j-circuitbreaker</artifactId>
<version>${resilience4j.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.github.resilience4j</groupId>
<artifactId>resilience4j-retry</artifactId>
<version>${resilience4j.version}</version>
<optional>true</optional>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>central</id>
<url>https://central.sonatype.com/api/v1/publisher/deployments/upload/</url>
</repository>
<snapshotRepository>
<id>central</id>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.13</version>
<executions>
<!-- Collect coverage for unit tests -->
<execution>
<id>prepare-agent-ut</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<propertyName>argLine</propertyName>
<destFile>${project.build.directory}/jacoco-ut.exec</destFile>
</configuration>
</execution>
<!-- Collect coverage for integration tests tagged with @Tag("integration") -->
<execution>
<id>prepare-agent-it-tagged</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<propertyName>failsafeTaggedArgLine</propertyName>
<destFile>${project.build.directory}/jacoco-it-tagged.exec</destFile>
</configuration>
</execution>
<!-- Collect coverage for integration tests with filename suffix IntegrationTest(s) -->
<execution>
<id>prepare-agent-it-suffix</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<propertyName>failsafeSuffixArgLine</propertyName>
<destFile>${project.build.directory}/jacoco-it-suffix.exec</destFile>
</configuration>
</execution>
<!-- Collect coverage for scenario tests -->
<execution>
<id>prepare-agent-scenario</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<propertyName>failsafeScenarioArgLine</propertyName>
<destFile>${project.build.directory}/jacoco-scenario.exec</destFile>
</configuration>
</execution>
<!-- Merge all coverage data after all integration tests -->
<execution>
<id>merge-coverage</id>
<phase>post-integration-test</phase>
<goals>
<goal>merge</goal>
</goals>
<configuration>
<fileSets>
<fileSet>
<directory>${project.build.directory}</directory>
<includes>
<include>jacoco-ut.exec</include>
<include>jacoco-it-tagged.exec</include>
<include>jacoco-it-suffix.exec</include>
<include>jacoco-scenario.exec</include>
</includes>
</fileSet>
</fileSets>
<destFile>${project.build.directory}/jacoco-merged.exec</destFile>
</configuration>
</execution>
<!-- Generate the final report on the merged data -->
<execution>
<id>report</id>
<phase>verify</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<dataFile>${project.build.directory}/jacoco-merged.exec</dataFile>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.version}</version>
<configuration>
<skipTests>${skipUnitTests}</skipTests>
<argLine>@{argLine} ${JVM_OPTS}</argLine>
<systemPropertyVariables>
<redis-hosts>${redis-hosts}</redis-hosts>
</systemPropertyVariables>
<excludedGroups>${excludedGroupsForUnitTests}</excludedGroups>
<excludes>
<exclude>**/examples/*.java</exclude>
<exclude>**/scenario/*Test.java</exclude>
<!-- Exclude integration tests from unit-test phase -->
<exclude>**/*IntegrationTest.java</exclude>
<exclude>**/*IntegrationTests.java</exclude>
</excludes>
<!--<trimStackTrace>false</trimStackTrace>-->
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.surefire.version}</version>
<configuration>
<argLine>@{failsafeSuffixArgLine} ${JVM_OPTS}</argLine>
<systemPropertyVariables>
<redis-hosts>${redis-hosts}</redis-hosts>
</systemPropertyVariables>
<summaryFile>${project.build.directory}/failsafe-summary.xml</summaryFile>
<!-- Default includes used when invoking failsafe goals directly (e.g., mvn failsafe:integration-test) -->
<excludedGroups>scenario</excludedGroups>
<includes>
<include>**/*IntegrationTest.java</include>
<include>**/*IntegrationTests.java</include>
</includes>
<excludes>
<exclude>**/examples/*.java</exclude>
<!-- Exclude unit tests -->
<exclude>**/mocked/*.java</exclude>
</excludes>
</configuration>
<executions>
<!-- Run all tests tagged with @Tag("integration") regardless of file name -->
<execution>
<id>it-tagged</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<skip>${skipIntegrationTests}</skip>
<argLine>@{failsafeTaggedArgLine} ${JVM_OPTS}</argLine>
<groups>integration</groups>
<excludedGroups>scenario,unit</excludedGroups>
<includes>
<include>**/*Test.java</include>
<include>**/*Tests.java</include>
</includes>
</configuration>
</execution>
<!-- Also run tests whose filenames end with IntegrationTest or IntegrationTests, even if not tagged -->
<execution>
<id>it-suffix</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<skip>${skipIntegrationTests}</skip>
<argLine>@{failsafeSuffixArgLine} ${JVM_OPTS}</argLine>
<excludedGroups>scenario,unit</excludedGroups>
<includes>
<include>**/*IT.java</include>
<include>**/*ITs.java</include>
<include>**/*IntegrationTest.java</include>
<include>**/*IntegrationTests.java</include>
</includes>
</configuration>
</execution>
<!-- Run all tests tagged with @Tag("scenario") regardless of file name -->
<execution>
<id>scenario-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<skip>${skipScenarioTests}</skip>
<argLine>@{failsafeScenarioArgLine} ${JVM_OPTS}</argLine>
<groups>scenario</groups>
<excludedGroups>integration,unit</excludedGroups>
<includes>
<include>**/*IT.java</include>
<include>**/*ITs.java</include>
</includes>
<excludes>
<!-- ensure plugin level excludes are overridden -->
</excludes>
</configuration>
</execution>
<!-- Verify phase should run once after both IT executions -->
<execution>
<id>it-verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.1</version>
<configuration>
<attach>true</attach>
</configuration>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.11.3</version>
<configuration>
<source>8</source><!-- Until JDK 11+ -->
<detectJavaApiLink>false</detectJavaApiLink><!-- Until JDK 11+ -->
<!--<doclint>none</doclint>-->
<!--<doclint>all,-missing</doclint>-->
</configuration>
<executions>
<execution>
<id>attach-javadoc</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>3.1.1</version>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.8.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<autoPublish>true</autoPublish>
<waitUntil>published</waitUntil>
</configuration>
</plugin>
<plugin>
<groupId>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<version>2.16.0</version>
<configuration>
<configFile>${project.basedir}/hbase-formatter.xml</configFile>
<directories>
<directory>${project.basedir}</directory>
</directories>
<includes>
<!-- Specific files -->
<include>src/main/java/redis/clients/jedis/annots/*.java</include>
<include>src/main/java/redis/clients/jedis/resps/StreamEntryDeletionResult.java</include>
<include>src/main/java/redis/clients/jedisargs/StreamDeletionPolicy.java</include>
<include>src/test/java/redis/clients/jedis/commands/StreamsCommandsTestBase.java</include>
<include>src/test/java/redis/clients/jedis/commands/jedis/ClusterStreamsCommandsTest.java</include>
<include>src/test/java/redis/clients/jedis/commands/jedis/PooledStreamsCommandsTest.java</include>
<include>src/test/java/redis/clients/jedis/resps/StreamEntryDeletionResultTest.java</include>
<include>**/VectorSet*.java</include>
<include>**/VectorTestUtils.java</include>
<include>**/VAddParams.java</include>
<include>**/VSimParams.java</include>
<include>**/VSimScoreAttribs.java</include>
<include>**/*FunctionCommandsTest*.java</include>
<include>**/Endpoint.java</include>
<include>src/main/java/redis/clients/jedis/mcf/*.java</include>
<include>src/test/java/redis/clients/jedis/failover/*.java</include>
<include>src/test/java/redis/clients/jedis/mcf/*.java</include>
<include>**/Health*.java</include>
<include>**/*IT.java</include>
<include>**/scenario/RestEndpointUtil.java</include>
<include>src/main/java/redis/clients/jedis/MultiDbConfig.java</include>
<include>src/main/java/redis/clients/jedis/HostAndPort.java</include>
<include>**/builders/*.java</include>
<include>**/MultiDb*.java</include>
<include>**/ClientTestUtil.java</include>
<include>**/ReflectionTestUtil.java</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>validate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.4.2</version>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
<manifestEntries>
<Automatic-Module-Name>${jedis.module.name}</Automatic-Module-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>5.1.9</version>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<!--Sign the components - this is required by maven central for releases -->
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.8</version>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>doctests</id>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.version}</version>
<configuration>
<test>**/examples/*Example.java</test>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>tests-with-params</id>
<activation>
<property>
<name>with-param-names</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<parameters>true</parameters>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.version}</version>
<configuration>
<argLine>@{argLine} ${JVM_OPTS}</argLine>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>scenario-tests</id>
<properties>
<skipUnitTests>true</skipUnitTests>
<skipIntegrationTests>true</skipIntegrationTests>
<skipScenarioTests>false</skipScenarioTests>
</properties>
</profile>
</profiles>
</project>