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.