When I update javacc-maven-plugin from 3.0.1 -> 3.1.0 the build of my project fails with:
...
Caused by: java.nio.charset.MalformedInputException: Input length = 3
at java.lang.StringCoding.throwMalformed (StringCoding.java:707)
at java.lang.StringCoding.decodeUTF8_0 (StringCoding.java:812)
at java.lang.StringCoding.newStringNoRepl1 (StringCoding.java:1030)
at java.lang.StringCoding.newStringNoRepl (StringCoding.java:1015)
at java.lang.System$2.newStringNoRepl (System.java:2197)
at java.nio.file.Files.readString (Files.java:3287)
at java.nio.file.Files.readString (Files.java:3243)
at org.codehaus.plexus.util.BaseFileUtils.fileRead (BaseFileUtils.java:17)
at org.codehaus.plexus.util.FileUtils.fileRead (FileUtils.java:322)
at org.codehaus.plexus.util.FileUtils.fileRead (FileUtils.java:312)
at org.codehaus.mojo.javacc.GrammarInfo.<init> (GrammarInfo.java:105)
at org.codehaus.mojo.javacc.GrammarDirectoryScanner.scan (GrammarDirectoryScanner.java:152)
at org.codehaus.mojo.javacc.AbstractJavaCCMojo.scanForGrammars (AbstractJavaCCMojo.java:436)
at org.codehaus.mojo.javacc.AbstractJavaCCMojo.execute (AbstractJavaCCMojo.java:377)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
My project's pom sets
Cp1252
because that is the encoding of my .jj file.
I believe the problem is caused by the update of the dependency on plexus-utils 3.4.2 -> 4.0.0
plexus-utils-4.0.0 FileUtils.fileRead method is now using Java NIO which defaults to UTF-8 if not specified otherwise.
Why not set the encoding of the parameter 'grammarEncoding'?
When I update javacc-maven-plugin from 3.0.1 -> 3.1.0 the build of my project fails with:
...
My project's pom sets