hvoynov opened a new issue, #11258:
URL: https://github.com/apache/maven/issues/11258
### Affected version
3.9.11
### Bug description
Maven 3.9.11 reads the maven.properties file using the system's default
encoding instead of UTF-8, causing issues with non-ASCII characters (e.g.,
Cyrillic). This leads to incorrect processing of properties containing such
characters.
# To Reproduce
Create a maven.properties file with non-ASCII characters (e.g., key=ая).
Run Maven with mvn -version or any command that loads maven.properties.
You will get following:
```
[ERROR] Error executing Maven.
java.io.UncheckedIOException: java.nio.charset.UnmappableCharacterException:
Input length = 1
at java.io.BufferedReader$1.hasNext(BufferedReader.java:574)
at java.util.Iterator.forEachRemaining(Iterator.java:115)
at
java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:546)
at
java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
at
java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:438)
at org.apache.maven.cli.MavenCli.cli(MavenCli.java:386)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:272)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:206)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:255)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314)
Caused by: java.nio.charset.UnmappableCharacterException: Input length = 1
at java.nio.charset.CoderResult.throwException(CoderResult.java:282)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:161)
at java.io.BufferedReader.readLine(BufferedReader.java:324)
at java.io.BufferedReader.readLine(BufferedReader.java:389)
at java.io.BufferedReader$1.hasNext(BufferedReader.java:571)
... 18 more
```
# Expected behavior
Maven should read maven.properties in UTF-8 encoding by default to properly
handle non-ASCII characters.
Explicitly setting -Dfile.encoding=UTF-8 in MAVEN_OPTS/jvm.config resolves
the issue for maven.properties. Explicitly setting -Dfile.encoding=windows-1251
(also tested with BIG5) in MAVEN_OPTS can be used for reproduce.
# Environment
Windows 10,
file.encoding=windows-1251
Java version: 1.8.0
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]