Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MalformedInputException: Input length = 3 when updating javacc-maven-plugin from 3.0.1 -> 3.1.0 #72

Open
max-schaefer-dedalus opened this issue Apr 3, 2024 · 0 comments

Comments

@max-schaefer-dedalus
Copy link

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
<project.build.sourceEncoding>Cp1252</project.build.sourceEncoding>
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'?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants