Details
-
New Feature
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.7.1, 3.8.2
-
None
-
None
Description
In https://github.com/asciidoctor/asciidoctor-maven-plugin we inject a MavenProject to obtain addition configurations from the pom.xml (https://github.com/asciidoctor/asciidoctor-maven-plugin/blob/a4d86a949643ab68c124fd4c1b9b936412637d93/src/main/java/org/asciidoctor/maven/site/AsciidoctorDoxiaParser.java#L54).
This works fine with site:site, but when using site:run and accessing one of the Asciidoc generated pages we get the error below.
I saw that:
- The error occurs when trying to retrieve the instance of the MavenProject.
- Behavior is the same if I directly inject the MavenProject instead of using a provider. That is, site:site works, site:run fails because it cannot find the instance.
HTTP ERROR 500
Problem accessing /hello.html. Reason:
Server Error
Caused by:
com.google.inject.ProvisionException: Unable to provision, see the following errors:
1) Error in custom provider, com.google.inject.OutOfScopeException: Cannot access Key[type=org.apache.maven.project.MavenProject, annotation=[none]] outside of a scoping block
at org.apache.maven.execution.scope.internal.MojoExecutionScopeModule.configure(MojoExecutionScopeModule.java:55) (via modules: org.eclipse.sisu.wire.WireModule -> org.apache.maven.execution.scope.internal.MojoExecutionScopeModule)
while locating org.apache.maven.project.MavenProject
1 error
at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:226)
at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1053)
at org.asciidoctor.maven.site.AsciidoctorDoxiaParser.parse(AsciidoctorDoxiaParser.java:78)
at org.apache.maven.doxia.DefaultDoxia.parse(DefaultDoxia.java:65)
- How to reproduce:
- clone https://github.com/asciidoctor/asciidoctor-maven-examples
- cd asciidoc-maven-site-example
- mvn site:run
- Access http://localhost:8080/hello.html
- Env:
$ mvn -v Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T21:00:29+02:00) Maven home: /home/----/.sdkman/candidates/maven/current Java version: 1.8.0_222, vendor: AdoptOpenJDK, runtime: /home/-----/.sdkman/candidates/java/8.0.222.hs-adpt/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "5.1.21-1-manjaro", arch: "amd64", family: "unix