Migration to newest java version #46
Replies: 8 comments 5 replies
-
Hi Giuseppe I think that you could recompile for Java 20 but be aware that the SimpleXML implementation probably won't work beyond Java 17 - see #40 but I would think would be OK for JAXB and DOM. Would be good to hear how you get on. Jo |
Beta Was this translation helpful? Give feedback.
-
Hi again Giuseppe KeePass is an encrypted XML file format, so there is no getting away from the need to serialise and deserialise XML to and from KeePass conformant files. The various current implementations here store as an in-memory XML DOM (DomDatabaseWrapper) or as Java Objects. Of course you can write an adapter that writes to a database. That's the point of having built the whole thing this way. As for how to move on from SimpleXML, question is posed at #40 ... I think Jackson the top candidate. |
Beta Was this translation helpful? Give feedback.
-
Dear Jo, I'd like to integrate the new jackson module on the project, and I'd like to send you a pull request as soon as possible. I'll test this maven module with java 8. For java version 20, I think it is needed to remove the simple module from the project and test all modules again (I will try also with java 20). Giuseppe |
Beta Was this translation helpful? Give feedback.
-
Hopefully you'll have seen that the existing implementations conform to the same code structure illustrated here and unless there's a good reason not to would be good if any new implementations conform to that pattern. Also please make pull requests to develop. Thanks! |
Beta Was this translation helpful? Give feedback.
-
Hi Jo, test123 The decrypt here fails, I need to investigate again because I don't understand why this fails (the key is the same, the ciphertext and IV are equals, for now, I don't know why this not working). upperCaseBooleanTest The good news is that most part of the Jackson module is ready, I will update you ASAP Giuseppe |
Beta Was this translation helpful? Give feedback.
-
Well, that is now on main as 2.2.2-SNAPSHOT ... good work, Giuseppe! |
Beta Was this translation helpful? Give feedback.
-
A couple of "quirks" #50 and #51 come out of a bit of testing. But on the whole this is looking solid! Worth noting that it's not completely straightforward to stop Jackson serializing everything in sight, including "getters" in superclasses, which you would not want to annotate with things that are only relevant to e.g. the Jackson subclass. So if you want to serialize only the annotate fields then something like this is your answer. |
Beta Was this translation helpful? Give feedback.
-
For version 3 I think we'll go with Java 11 as the base line. Comments welcome under #62 Many thanks |
Beta Was this translation helpful? Give feedback.
-
Hi @jorabin,
First of all, this is great work! Congratulations!
It's very interesting and can be useful in many contexts by incorporating this API into other projects. However, I've noticed that the Java version being used is quite old, and this could potentially pose a problem if you plan to use a newer version of Java.
Do you think it would be possible to migrate to Java version 20?
Giuseppe
Beta Was this translation helpful? Give feedback.
All reactions