[
https://issues.apache.org/jira/browse/MCOMPILER-598?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Elliotte Rusty Harold updated MCOMPILER-598:
--------------------------------------------
Summary: Syntax error in qdox parser for unescaped quotes inside textblock
of a service provider class (was: Syntax error in qdox parser for unescaped
qoutes inside textblock of a service provider class)
> Syntax error in qdox parser for unescaped quotes 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
> Priority: Minor
> 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)