I just thought I would update you that I have created 
https://github.com/rgoers/jpms-compile-fails 
<https://github.com/rgoers/jpms-compile-fails> to demonstrate the problem I am 
facing. It is much easier to verify the problem as you just have to clone the 
problem and then run mvn clean install. It fails on MacOS but didn’t fail for 
me in my Ubuntu VM.

Furthermore, in Java 11 it gets an error for every class in a package that has 
a class of the same name except the first letter is upper case (i.e. the 
package is book and there is a class named Book).  That error doesn’t occur 
past Java 11.

Unfortunately, every version of the compiler from 11 on says that it is illegal 
to have a a package named book and a class named Book in the same package. Of 
course that is incorrect and the error only occurs on MacOS. 

This seems like it might be due to MacOS having case insensitive file paths but 
I haven’t figured out where the compiler is creating the symbols despite my 
trying under the debugger.

I still believe I can get around this but the maven gymnastics to do it are 
going to be ugly.

Ralph




> On Apr 22, 2021, at 11:18 PM, Ralph Goers <ralph.go...@dslextreme.com> wrote:
> 
> FYI - https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8265826 
> <https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8265826> has been 
> created.
> 
> Ralph
> 
>> On Apr 17, 2021, at 4:04 PM, Ralph Goers <ralph.go...@dslextreme.com> wrote:
>> 
>> Sorry, I should have added that I am sure I can work around the issues 
>> listed below but it is going to make the build uglier than it should be.
>> 
>> Ralph
>> 
>>> On Apr 17, 2021, at 3:56 PM, Ralph Goers <ralph.go...@dslextreme.com> wrote:
>>> 
>>> I have created a module-info.java file and added it to the project. I then 
>>> ran mvn clean install in log4j-core. I expected it to have problems but not 
>>> these.
>>> 
>>> 1. Activator.java is getting an error saying it can’t find the Log4jPlugins 
>>> class. However, after the compile fails you can clearly see the generated 
>>> class in the appropriate directory.  I have created 
>>> https://issues.apache.org/jira/browse/MCOMPILER-461 
>>> <https://issues.apache.org/jira/browse/MCOMPILER-461> for this problem.
>>> 2. I get 4 of these warnings
>>> [WARNING] 
>>> /Users/rgoers/projects/apache/logging/log4j/logging-log4j2/log4j-core/src/main/java/org/apache/logging/log4j/core/Filter/package-info.java:[24,37]
>>>  a package-info.java file has already been seen for package 
>>> org.apache.logging.log4j.core.filter
>>> Notice that the filter package is capitalized in the message. That 
>>> directory is lower case on the file system.
>>> 3. I get many errors like
>>> [ERROR] 
>>> /Users/rgoers/projects/apache/logging/log4j/logging-log4j2/log4j-core/src/main/java/org/apache/logging/log4j/core/Filter/StructuredDataFilter.java:[46,13]
>>>  error: duplicate class: 
>>> org.apache.logging.log4j.core.filter.StructuredDataFilter
>>> Once again, notice that “Filter” is capitalized. This error seems to occur 
>>> for every class in the filter, appender, and layout directory, each of 
>>> which has an interface with the same package and name except the interface 
>>> is capitalized while the directory and package are not. 
>>> These errors go away with javac from Java 12 and above.
>>> I have reported a bug with the OpenJDK compiler project for these.
>>> If you want to take a look I have pushed the changes to the 
>>> module-compile-fails branch. Simply moving the module-info.java file out of 
>>> the source directory will cause the compile to succeed.
>>> Ralph
>>> 
>>> 
>>> 
>> 
>> 
>> 
> 

Reply via email to