-
-
Notifications
You must be signed in to change notification settings - Fork 52
JavaCard SDK and JDK version compatibility
Martin Paljak edited this page Oct 17, 2024
·
20 revisions
Note
The RECOMMENDED JDK for business use (JavaCard 2.2.X and 3+) is JDK-11
Tip
For new projects targeting modern JavaCards (3.0.4+) JDK-17 SHOULD be used.
For legacy JavaCard work (using JavaCard 2.X.X SDK-s as
jckit
/$JC_HOME
OR targeting JavaCard 2.1.X) JDK-8 is REQUIRED.
See also end of life dates: https://endoflife.date/java. This project is only tested with LTS JDK-s. JDK-21 minimal class file target is 8, thus it is NOT usable with ant-javacard. Latest supported LTS JDK is JDK-17.
Important
Remember to set $JAVA_HOME
to point to the right JDK!
The supported Java class file version mapping against major JDK releases is as follows (italics is class file version) :
JavaCard Kit | Converter can convert (up to) | Supported JDK-s |
---|---|---|
2.1.1 | 1.2 (46) | JDK-8 |
2.1.2 | 1.2 | JDK-8 |
2.2.1 | 1.2 | JDK-8 |
2.2.2 | 1.5 (49) | JDK-8 |
3.0.1 | 1.6 (50) | JDK-8, JDK-11 |
3.0.4 | 1.6 | JDK-8, JDK-11 |
3.0.5 | 1.6 | JDK-8, JDK-11 |
3.1.0 | 1.7 (51) | JDK-8, JDK-11, JDK-17 |
3.2.0 (24.0) | 1.7 | JDK-8, JDK-11, JDK-17 |
3.2.0 (24.1) | 1.7 | JDK-11, JDK-17 |
- JDK-8 (52) minimum target version is 1.2, end-of-life is 2030
- JDK-11 (55) minimum target version is 1.6 (supports JC 3.0.x), end-of-life is 2026
- JDK-17 (61) minimum target version is 1.7 (supports JC 3.1.x), end-of-life is 2029
- JDK-21 minimum target version is 1.8 (thus does NOT support any JC kit)
- JC kit 3.1.0 includes new (v2.3) format export files for 3.0.4 and 3.0.5
- JC kit 3.2.0 includes new (v2.3) format export files for 3.0.4, 3.0.5 and 3.1.0
- JC kit 3.2.0 u1 (24.1) requires JDK-11 or JDK-17 to run