calimero-project / calimero-core

Core library for KNX network access and management
Other
128 stars 65 forks source link

Java 9 #67

Closed steveohara closed 6 years ago

steveohara commented 6 years ago

Can I ask why the library requires Java 9? I presume that a lot of people will want to incorporate the library into their own applications and creating a dependency on Java 9 will make that much more difficult. (I can't tell you how many complaints I got from people when I dared to try and uplift j2mod to Java 7!!) Java 8 would seem reasonable but 9 is very new for most industrial vendors.

calimero-project commented 6 years ago

From a source compatibility point of view, it currently doesn't. Adding module descriptors is probably the first thing that will change that.

[...] creating a dependency on Java 9 will make that much more difficult.

Why exactly?

Java 8 would seem reasonable but 9 is very new for most industrial vendors.

calimero v2.3 is compatible with Java ME CDC (Java 1.4), v2.4 does not require anything higher than Java 8. So I think there is good coverage.

steveohara commented 6 years ago

The issues we have come across are that some users cannot update the runtime JVM - it is pre-installed or simply not something they can influence. Java 8 is fine, just a bit miss-leading on your read me that says it requires Java SE 9

bmalinowsky commented 6 years ago

Ah ok. The readme got updated with moving to 2.5 snapshots couple weeks ago. If you look at the 2.4 branch the requirements are different.

petero-dk commented 4 years ago

Sorry to add a comment for a closed issue. But I just found this during a search, and I was in the same situation. I needed an updated Calimero but for a Java 8 project, which is why I managed to make a (transpiler, dunno what is is called) that converts a Java 9 / Java 10 or Java 11 jar to a Java 8. Using Google R8 and Dex2Jar.

https://github.com/petero-dk/javacrosscompiler

I am working on getting a direct download link, but for now Snapshot builds are instantly available by clicking the Azure pipelines status button and selecting "Artifacts"