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
According to the official documentation of Javas Service Loader it may contain comments. Everything which comes after the '#' is considered a comment. Reference: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/ServiceLoader.html.
But Mojarras own Service Loader implementation doesn't support comments. It even doesn't skip blank lines. This leads to unexpected behaviour when using Mojarras Service Loader. When files under META-INF/services are loaded from Mojarras Service Loader it may lead to exceptions, while these service files under any other META-INF/services directory may perform perfect when they're loaded by the JDK Service Loader.
Therefore I implemented a Pull-Request which fixes that, so comments and blank lines don't lead to crashes when loading service files.
I also added unit tests to test the new functionality. To an area which had previously no test coverage at all.
I also replaced the magic string "UTF-8" with StandardCharsets.UTF_8 in the method I updated. It was introduced with Java 7 and can therefore also be used in a project where downwards compability is important.
Steps to reproduce the behavior:
Add a service file under META-INF/services, with a comment line, to a JAR which gets loaded and see how Mojarra fails to load a class named, for example # Copyright 2017, 2021 Eclipse Foundation. Eclipse License 2..
Expected behavior
Comments and blank lines are ignored.
P.S.: I read, understood and accepted the ECA.
The text was updated successfully, but these errors were encountered:
Describe the bug
According to the official documentation of Javas Service Loader it may contain comments. Everything which comes after the '#' is considered a comment. Reference: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/ServiceLoader.html.
But Mojarras own Service Loader implementation doesn't support comments. It even doesn't skip blank lines. This leads to unexpected behaviour when using Mojarras Service Loader. When files under META-INF/services are loaded from Mojarras Service Loader it may lead to exceptions, while these service files under any other META-INF/services directory may perform perfect when they're loaded by the JDK Service Loader.
Therefore I implemented a Pull-Request which fixes that, so comments and blank lines don't lead to crashes when loading service files.
I also added unit tests to test the new functionality. To an area which had previously no test coverage at all.
I also replaced the magic string
"UTF-8"
withStandardCharsets.UTF_8
in the method I updated. It was introduced with Java 7 and can therefore also be used in a project where downwards compability is important.Pull-Request: #5205
To Reproduce
Steps to reproduce the behavior:
Add a service file under META-INF/services, with a comment line, to a JAR which gets loaded and see how Mojarra fails to load a class named, for example
# Copyright 2017, 2021 Eclipse Foundation. Eclipse License 2.
.Expected behavior
Comments and blank lines are ignored.
P.S.: I read, understood and accepted the ECA.
The text was updated successfully, but these errors were encountered: