Uploaded image for project: 'Maven Site Plugin'
  1. Maven Site Plugin
  2. MSITE-849

Unable to inject MavenProject when using `mvn site:run`

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.7.1, 3.8.2
    • waiting-for-feedback
    • 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:
      1. clone https://github.com/asciidoctor/asciidoctor-maven-examples
      2. cd asciidoc-maven-site-example
      3. mvn site:run
      4. 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
      

      Attachments

        1. site_site.png
          151 kB
          Abel Salgado Romero

        Activity

          People

            Unassigned Unassigned
            Abel S.Romero Abel Salgado Romero
            Votes:
            3 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated: