miho / MonacoFX

JavaFX editor node based on the powerful Monaco editor that drives VS Code
MIT License
75 stars 25 forks source link

package should not be used as a dir name in /src/main/resources #10

Closed odbuser2 closed 4 years ago

odbuser2 commented 4 years ago

"package" is a reserved word in java and can cause issues with tools when used as a directory name in the java classpath:

src/main/resources/eu/mihosoft/monacofx/monaco-editor-0.20.0/package

For example, netbeans (gradle projects at least) will hide this directory in the project view b/c of the name.

miho commented 4 years ago

While package is reserved in java, it is not reserved for resources. The specifications does not forbid resource names with Java keywords in it. This is only forbidden for Java soure files. And we do not develop monaco. Therefore we cannot easily change the name without breaking things.

The fact that Netbeans won't display the resources correctly indicates that there's a bug in Netbeans and/or the Gradle plugin. Other IDEs handle this correctly and follow the specification in this regard.

odbuser2 commented 4 years ago

Yes you are correct. I looked up the specification and the restriction only applies to the first component of the package name:

https://docs.oracle.com/javase/specs/jls/se14/html/jls-6.html#jls-6.5.3 "The first component of a package or module name must not be the identifier java. Package and module names that start with the identifier java are reserved for packages and modules of the Java SE Platform."