You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Agrona as-is does not work in java applications which make full use of the java 9 module system -- i.e. applications where the main file is in a module with a module-info.java. This is because agrona does not depend on the jdk.unsupported module, which is necessary in order to access the Unsafe class. An automatic module name is not sufficient to resolve this, by design of the JDK.
We have for some time been using Agrona with an internal build in which the jar is modified and a module-info.java added, which looks like this:
Which is great news, it means Agrona can fully support the Java Platform Module System. It could prove useful to others if Agrona provided the module-info.java itself.
Java has multi-version capability of jars so it should be possible to provide the module-info.java without breaking Java 8 compatibility (this is pretty much the main use case of multi-version jars). However, we didn't need to do this, since we only needed the jar to work with JDK 11+. It should be possible, to do the multi-version approach with Gradle: https://stackoverflow.com/questions/47648533/how-to-make-multi-release-jar-files-with-gradle.
Exporting the above two packages was sufficient for our needs. Presumably a number of the other packages are intended as public apis, and should be added, too.
The text was updated successfully, but these errors were encountered:
Agrona as-is does not work in java applications which make full use of the java 9 module system -- i.e. applications where the main file is in a module with a module-info.java. This is because agrona does not depend on the jdk.unsupported module, which is necessary in order to access the Unsafe class. An automatic module name is not sufficient to resolve this, by design of the JDK.
We have for some time been using Agrona with an internal build in which the jar is modified and a module-info.java added, which looks like this:
Which is great news, it means Agrona can fully support the Java Platform Module System. It could prove useful to others if Agrona provided the module-info.java itself.
Java has multi-version capability of jars so it should be possible to provide the module-info.java without breaking Java 8 compatibility (this is pretty much the main use case of multi-version jars). However, we didn't need to do this, since we only needed the jar to work with JDK 11+. It should be possible, to do the multi-version approach with Gradle: https://stackoverflow.com/questions/47648533/how-to-make-multi-release-jar-files-with-gradle.
Exporting the above two packages was sufficient for our needs. Presumably a number of the other packages are intended as public apis, and should be added, too.
The text was updated successfully, but these errors were encountered: