You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Armin Schrenk <ar...@skymatic.de.INVALID> on 2024/08/15 11:03:43 UTC
Bug with Maven Compiler Plugin when using Textblocks?
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
Re: Bug with Maven Compiler Plugin when using Textblocks?
Posted by Konrad Windszus <kw...@apache.org>.
Hi Armin,
Please report at https://issues.apache.org/jira/projects/MCOMPILER/summary.
Looks like QDox may have issues with text blocks in general (https://github.com/paul-hammant/qdox/issues/215).
Konrad
> On 15. Aug 2024, at 13:03, Armin Schrenk <ar...@skymatic.de.INVALID> wrote:
>
> 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