I've created a Java project with the name java9 to play with Java 9 modules. I have the following module-info.java:
module java9 {
...
}
However the javac compiler complains about the digit in my module name:
src\module-info.java:1: warning: [module] module name java9 should avoid terminal digits
module java9 {
^
And at runtime java complains too:
WARNING: Module name "java9" may soon be illegal
Can anyone explain why terminating digits are forbidden?
What are libraries like commons-lang3 supposed to do to avoid this restriction?
What if I have a library name like base64 or sha3?
This question does not contain an answer to my question. It answers how to avoid the error but not why Java is so restrictive in the naming scheme.