Armin Schrenk created MCOMPILER-598: ---------------------------------------
Summary: Syntax error in qdox parser for unescaped qoutes inside textblock of a service provider class Key: MCOMPILER-598 URL: https://issues.apache.org/jira/browse/MCOMPILER-598 Project: Maven Compiler Plugin Issue Type: Bug Affects Versions: 3.13.0 Environment: * JDK 22.0.2+9 zulu * maven 3.9.8 Reporter: Armin Schrenk Attachments: mvnCompilerTextblockIssue-main.zip A service provider class containing a text block with unescaped double quotes cannot be compiled with the maven compiler plugin. The parser of the qdox library detect the textblock as a syntax error. Workaround: Escape all double quotes inside a textblock. Example code: Attached, otherwise see https://github.com/infeo/mvnCompilerTextblockIssue Stacktrace: ``` Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile failed: syntax error @[9,2] in file:/C:/Users/Arbeit/Skymatic/mvnCompilerError/src/main/java/org/example/ServiceImpl.java at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:133) 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.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103) at java.lang.reflect.Method.invoke (Method.java:580) 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) at org.codehaus.classworlds.Launcher.main (Launcher.java:47) Caused by: com.thoughtworks.qdox.parser.ParseException: syntax error @[9,2] in file:/C:/Users/Arbeit/Skymatic/mvnCompilerError/src/main/java/org/example/ServiceImpl.java at com.thoughtworks.qdox.parser.impl.Parser.yyerror (Parser.java:1963) at com.thoughtworks.qdox.parser.impl.Parser.yyparse (Parser.java:2085) at com.thoughtworks.qdox.parser.impl.Parser.parse (Parser.java:1944) at com.thoughtworks.qdox.library.SourceLibrary.parse (SourceLibrary.java:232) at com.thoughtworks.qdox.library.SourceLibrary.parse (SourceLibrary.java:190) at com.thoughtworks.qdox.library.SourceFolderLibrary.getClassFromSourceFile (SourceFolderLibrary.java:159) at com.thoughtworks.qdox.library.SourceFolderLibrary.resolveJavaClass (SourceFolderLibrary.java:112) at com.thoughtworks.qdox.library.AbstractClassLibrary.getJavaClass (AbstractClassLibrary.java:101) at com.thoughtworks.qdox.library.AbstractClassLibrary.getJavaClass (AbstractClassLibrary.java:94) at com.thoughtworks.qdox.type.TypeResolver.getJavaClass (TypeResolver.java:87) at com.thoughtworks.qdox.model.impl.DefaultJavaType.resolveRealClass (DefaultJavaType.java:282) at com.thoughtworks.qdox.model.impl.DefaultJavaType.getName (DefaultJavaType.java:837) at org.codehaus.plexus.languages.java.jpms.SourceModuleInfoParser.fromSourcePath (SourceModuleInfoParser.java:105) at org.codehaus.plexus.languages.java.jpms.LocationManager.getMainModuleDescriptor (LocationManager.java:334) at org.codehaus.plexus.languages.java.jpms.LocationManager.resolvePaths (LocationManager.java:155) at org.apache.maven.plugin.compiler.CompilerMojo.preparePaths (CompilerMojo.java:247) at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:854) at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:193) 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.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103) at java.lang.reflect.Method.invoke (Method.java:580) 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) at org.codehaus.classworlds.Launcher.main (Launcher.java:47) ``` -- This message was sent by Atlassian Jira (v8.20.10#820010)