1- ![ NATS] ( src/main/javadoc/images/large-logo.png )
1+ ![ NATS] ( core/ src/main/javadoc/images/large-logo.png)
22
33# Java NKeys Library
44
55The library allows you to create and use NKEYS in Java code.
66
7- ![ 3.0.0] ( https://img.shields.io/badge/Current_Release-3.0.0-27AAE0?style=for-the-badge )
8- ![ 3.0.1] ( https://img.shields.io/badge/Current_Snapshot-3.0.1--SNAPSHOT-27AAE0?style=for-the-badge )
9-
10- [ ![ Build Main Badge] ( https://github.com/nats-io/nkeys.java/actions/workflows/build-main.yml/badge.svg?event=push )] ( https://github.com/nats-io/nkeys.java/actions/workflows/build-main.yml )
11- [ ![ Coverage Status] ( https://coveralls.io/repos/github/nats-io/nkeys.java/badge?branch=main )] ( https://coveralls.io/github/nats-io/nkeys.java?branch=main )
12- [ ![ Maven JDK 21] ( https://img.shields.io/maven-central/v/io.nats/nkeys-java-jdk21?label=maven-central-jdk21 )] ( https://mvnrepository.com/artifact/io.nats/nkeys-java-jdk21 )
13- [ ![ Maven JDK 25] ( https://img.shields.io/maven-central/v/io.nats/nkeys-java-jdk25?label=maven-central-jdk25 )] ( https://mvnrepository.com/artifact/io.nats/nkeys-java-jdk25 )
14- [ ![ Javadoc] ( http://javadoc.io/badge/io.nats/nkeys-java-jdk21.svg?branch=main )] ( http://javadoc.io/doc/io.nats/nkeys-java-jdk21?branch=main )
15- [ ![ License Apache 2] ( https://img.shields.io/badge/License-Apache2-blue )] ( https://www.apache.org/licenses/LICENSE-2.0 )
7+ | Feature | Core | Regular | LTS |
8+ | ---------------------:| :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
9+ | ** Current Release** | ![ 3.0.1] ( https://img.shields.io/badge/-3.0.1-27AAE0 ) | ![ 3.0.1] ( https://img.shields.io/badge/-3.0.1-27AAE0 ) | ![ 3.0.1] ( https://img.shields.io/badge/-3.0.1-27AAE0 ) |
10+ | ** Current SNAPSHOT** | ![ 3.0.2] ( https://img.shields.io/badge/-3.0.2-27AAE0 ) | ![ 3.0.2] ( https://img.shields.io/badge/-3.0.2-27AAE0 ) | ![ 3.0.2] ( https://img.shields.io/badge/-3.0.2-27AAE0 ) |
11+ | ** Build** | [ ![ Core] ( https://github.com/nats-io/nkeys.java/actions/workflows/core-main.yml/badge.svg?event=push )] ( https://github.com/nats-io/nkeys.java/actions/workflows/core-main.yml ) | [ ![ Regular] ( https://github.com/nats-io/nkeys.java/actions/workflows/regular-main.yml/badge.svg?event=push )] ( https://github.com/nats-io/nkeys.java/actions/workflows/regular-main.yml ) | [ ![ LTS] ( https://github.com/nats-io/nkeys.java/actions/workflows/lts-main.yml/badge.svg?event=push )] ( https://github.com/nats-io/nkeys.java/actions/workflows/lts-main.yml ) |
12+ | ** Coverage** | [ ![ Coverage Status] ( https://coveralls.io/repos/github/nats-io/nkeys.java/badge?branch=main )] ( https://coveralls.io/github/nats-io/nkeys.java?branch=main ) | ![ N/A] ( https://img.shields.io/badge/N/A-grey?style=for-the-badge ) | ![ N/A] ( https://img.shields.io/badge/N/A-grey?style=for-the-badge ) |
13+ | ** Binary, JDK 17** | [ ![ Core JDK 17] ( https://img.shields.io/maven-central/v/io.nats.nkeys/core-jdk17?label=core-jdk17 )] ( https://mvnrepository.com/artifact/io.nats.nkeys/core-jdk17 ) | [ ![ Regular JDK 17] ( https://img.shields.io/maven-central/v/io.nats.nkeys/regular-jdk17?label=regular-jdk17 )] ( https://mvnrepository.com/artifact/io.nats.nkeys/regular-jdk17 ) | [ ![ LTS JDK 21] ( https://img.shields.io/maven-central/v/io.nats.nkeys/lts-jdk21?label=lts-jdk21 )] ( https://mvnrepository.com/artifact/io.nats.nkeys/lts-jdk21 ) |
14+ | ** Binary, JDK 21** | [ ![ Core JDK 21] ( https://img.shields.io/maven-central/v/io.nats.nkeys/core-jdk21?label=core-jdk21 )] ( https://mvnrepository.com/artifact/io.nats.nkeys/core-jdk21 ) | [ ![ Regular JDK 21] ( https://img.shields.io/maven-central/v/io.nats.nkeys/regular-jdk21?label=regular-jdk21 )] ( https://mvnrepository.com/artifact/io.nats.nkeys/regular-jdk21 ) | [ ![ LTS JDK 21] ( https://img.shields.io/maven-central/v/io.nats.nkeys/lts-jdk21?label=lts-jdk21 )] ( https://mvnrepository.com/artifact/io.nats.nkeys/lts-jdk21 ) |
15+ | ** Binary, JDK 25** | [ ![ Core JDK 25] ( https://img.shields.io/maven-central/v/io.nats.nkeys/core-jdk25?label=core-jdk25 )] ( https://mvnrepository.com/artifact/io.nats.nkeys/core-jdk25 ) | [ ![ Regular JDK 25] ( https://img.shields.io/maven-central/v/io.nats.nkeys/regular-jdk25?label=regular-jdk25 )] ( https://mvnrepository.com/artifact/io.nats.nkeys/regular-jdk25 ) | [ ![ LTS JDK 21] ( https://img.shields.io/maven-central/v/io.nats.nkeys/lts-jdk21?label=lts-jdk21 )] ( https://mvnrepository.com/artifact/io.nats.nkeys/lts-jdk21 ) |
16+ | ** Javadoc** | [ ![ Javadoc] ( http://javadoc.io/badge/io.nats.nkeys/core-jdk17.svg )] ( http://javadoc.io/doc/io.nats.nkeys/core-jdk17 ) | ![ N/A] ( https://img.shields.io/badge/N/A-grey?style=for-the-badge ) | ![ N/A] ( https://img.shields.io/badge/N/A-grey?style=for-the-badge ) |
17+ | ** License** | [ ![ License Apache 2] ( https://img.shields.io/badge/License-Apache2-blue )] ( https://www.apache.org/licenses/LICENSE-2.0 ) | ![ License Apache 2] ( https://img.shields.io/badge/License-Apache2-blue ) | ![ License Apache 2] ( https://img.shields.io/badge/License-Apache2-blue ) |
1618
1719# Overview
1820
@@ -63,25 +65,32 @@ The NATS system will utilize public NKeys for identification, the NATS system
6365will never store or even have access to any private keys or seeds.
6466Authentication will utilize a challenge-response mechanism based on a
6567collection of random bytes called a nonce.
68+
6669### JDK Version
6770
68- This project uses Java 21 Language Level api, but builds with both Java 21 and Java 25, so creates two different artifacts.
69- Both have the same group id ` io.nats ` , and the same version but have different artifact names.
71+ This project uses Java 17 Language Level api, but builds with Java 17, Java 21 and Java 25, so creates 3 different artifacts per component.
72+ All have the same group id ` io.nats.nkeys ` , and the same version but have different artifact names.
73+
74+
7075
71- * The Java 21 artifact id is ` nkeys-java-jdk21 `
72- * The Java 25 artifact id is ` nkeys-java-jdk25 `
76+ | Component | JDK 17 | JDK 21 | JDK 25 |
77+ | -----------| -----------------| -----------------| -----------------|
78+ | Core | ` core-jdk17 ` | ` core-jdk21 ` | ` core-jdk25 ` |
79+ | Regular | ` regular-jdk17 ` | ` regular-jdk21 ` | ` regular-jdk25 ` |
80+ | LTS | ` lts-jdk17 ` | ` lts-jdk21 ` | ` lts-jdk25 ` |
7381
7482### Dependency Management
7583
7684The NATS client is available in the Maven central repository,
7785and can be imported as a standard dependency in your ` build.gradle ` or ` pom.xml ` file,
78- The examples shown use the jdk 21 version, to the jdk 25 version just change the artifact id.
86+ The examples shown use the jdk 17 version. To use the JDK 21 or 25 version just change the artifact id.
87+ The _ regular_ and _ lts_ libraries automatically depend on the _ core_ of the same JDK.
7988
8089#### Gradle
8190
8291``` groovy
8392dependencies {
84- implementation 'io.nats: nkeys-java-jdk21 :3.0.0 '
93+ implementation 'io.nats. nkeys:regular-jdk17 :3.0.1 '
8594}
8695```
8796
@@ -107,17 +116,17 @@ repositories {
107116}
108117
109118dependencies {
110- implementation 'io.nats: nkeys-java-jdk21 :3.0.1 -SNAPSHOT'
119+ implementation 'io.nats. nkeys:regular-jdk17 :3.0.2 -SNAPSHOT'
111120}
112121```
113122
114123#### Maven
115124
116125``` xml
117126<dependency >
118- <groupId >io.nats</groupId >
119- <artifactId >nkeys-java-jdk21 </artifactId >
120- <version >3.0.0 </version >
127+ <groupId >io.nats.nkeys </groupId >
128+ <artifactId >regular-jdk17 </artifactId >
129+ <version >3.0.1 </version >
121130</dependency >
122131```
123132
@@ -149,9 +158,9 @@ If you need a snapshot version, you must enable snapshots and change your depend
149158</repositories >
150159
151160<dependency >
152- <groupId >io.nats</groupId >
153- <artifactId >nkeys-java-jdk21 </artifactId >
154- <version >3.0.1 -SNAPSHOT</version >
161+ <groupId >io.nats.nkeys </groupId >
162+ <artifactId >regular-jdk17 </artifactId >
163+ <version >3.0.2 -SNAPSHOT</version >
155164</dependency >
156165```
157166
0 commit comments