Hello everybody,

hope this is the right place to report a possible bug in the Maven Compiler plugin. I encountered an issue with the maven compiler plugin.

The problem seems to be a combination of
* a class using unescaped double quotes in Java TextBlocks and
* the same class being registered as a service provider using the module-info

Repo of a minimal example: https://github.com/infeo/mvnCompilerTextblockIssue

Further info:
* JDK 22.0.2+9 zulu
* maven-compiler 3.13.0
* maven 3.9.7

Seems like the qdox parser stumbles over the quotes, stacktrace is:
```
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)
```

If you have any further questions, feel free to ask.

Best regards,

Armin Schrenk

--
Armin Schrenk

Skymatic GmbH, Am Hauptbahnhof 6, 53111 Bonn
Sitz der Gesellschaft: Bonn; Amtsgericht Bonn, HRB 22635

Attachment: smime.p7s
Description: Kryptografische S/MIME-Signatur

Reply via email to