Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-6358

Maven build should not require access to apache.org

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.2.1, 3.5.2
    • Fix Version/s: 3.6.0
    • Component/s: Bootstrap & Build
    • Labels:
      None
    • Environment:
      RHEL 7.4
      JDK 1.8.0_141

      Description

      I am trying to build Maven 3.5.2 from source using Maven 3.0.5. The machine I am building on has access to an internal Maven repository, but doesn't have access to the Internet.

      The build fails, seemingly because it cannot access apache.org to download the license. But I don't understand why it needs to do this, as the license is already contained in file apache-jar-resource-bundle which is retrieved as a Maven dependency.

      Here is the log I get:

      [INFO] --- apache-rat-plugin:0.11:check (rat-check) @ apache-maven ---
      [INFO] 51 implicit excludes (use -debug for more details).
      [INFO] Exclude: src/test/resources*/**
      [INFO] Exclude: src/test/projects/**
      [INFO] Exclude: src/test/remote-repo/**
      [INFO] Exclude: **/*.odg
      [INFO] Exclude: src/bin/m2.conf
      [INFO] Exclude: bootstrap/**
      [INFO] Exclude: README.bootstrap.txt
      [INFO] Exclude: .repository/**
      [INFO] Exclude: .maven/spy.log
      [INFO] Exclude: .java-version
      [INFO] Exclude: README.md
      [INFO] Exclude: DEPENDENCIES
      [INFO] 19 resources included (use -debug for more details)
      [INFO] Rat check: Summary of files. Unapproved: 0 unknown: 0 generated: 0 approved: 16 licence.
      [INFO] 
      [INFO] --- maven-dependency-plugin:2.8:unpack-dependencies (unpack-jansi-native) @ apache-maven ---
      [INFO] Unpacking /root/.m2/repository/org/fusesource/jansi/jansi/1.16/jansi-1.16.jar to /tmp/maven-build/apache-maven/target/dependency with includes "META-INF/native/**" and excludes ""
      [INFO] 
      [INFO] --- maven-remote-resources-plugin:1.5:process (default) @ apache-maven ---
      [INFO] ------------------------------------------------------------------------
      [INFO] Reactor Summary:
      [INFO] 
      [INFO] Apache Maven ...................................... SUCCESS [25.091s]
      [INFO] Maven Model ....................................... SUCCESS [18.000s]
      [INFO] Maven Artifact .................................... SUCCESS [4.418s]
      [INFO] Maven Plugin API .................................. SUCCESS [4.677s]
      [INFO] Maven Builder Support ............................. SUCCESS [1.900s]
      [INFO] Maven Model Builder ............................... SUCCESS [5.690s]
      [INFO] Maven Settings .................................... SUCCESS [1.905s]
      [INFO] Maven Settings Builder ............................ SUCCESS [2.010s]
      [INFO] Maven Repository Metadata Model ................... SUCCESS [1.511s]
      [INFO] Maven Artifact Resolver Provider .................. SUCCESS [5.110s]
      [INFO] Maven Core ........................................ SUCCESS [13.168s]
      [INFO] Maven SLF4J Simple Provider ....................... SUCCESS [5.013s]
      [INFO] Maven Embedder .................................... SUCCESS [3.617s]
      [INFO] Maven Compat ...................................... SUCCESS [4.462s]
      [INFO] Apache Maven Distribution ......................... FAILURE [4:18.467s]
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD FAILURE
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 5:58.134s
      [INFO] Finished at: Mon Feb 12 21:03:11 GMT 2018
      [INFO] Final Memory: 83M/190M
      [INFO] ------------------------------------------------------------------------
      [ERROR] Failed to execute goal org.apache.maven.plugins:maven-remote-resources-plugin:1.5:process (default) on project apache-maven: Error rendering velocity resource. Invocation of method 'getResourceAsFile' in  class org.codehaus.plexus.resource.DefaultResourceManager threw exception org.codehaus.plexus.resource.loader.ResourceNotFoundException: Could not find resource 'https://www.apache.org/licenses/LICENSE-2.0.txt'. at remote-resources[line 38, column 26] -> [Help 1]
      [ERROR] 
      [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
      [ERROR] Re-run Maven using the -X switch to enable full debug logging.
      [ERROR] 
      [ERROR] For more information about the errors and possible solutions, please read the following articles:
      [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
      [ERROR] 
      [ERROR] After correcting the problems, you can resume the build with the command
      [ERROR]   mvn <goals> -rf :apache-maven
      

      And the stacktrace:

      [ERROR] Failed to execute goal org.apache.maven.plugins:maven-remote-resources-plugin:1.5:process (default) on project apache-maven: Error rendering velocity resource. Invocation of method 'getResourceAsFile' in  class org.codehaus.plexus.resource.DefaultResourceManager threw exception org.codehaus.plexus.resource.loader.ResourceNotFoundException: Could not find resource 'https://www.apache.org/licenses/LICENSE-2.0.txt'. at remote-resources[line 38, column 26] -> [Help 1]
      org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-remote-resources-plugin:1.5:process (default) on project apache-maven: Error rendering velocity resource.
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
          at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
          at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
          at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
          at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
          at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
          at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
          at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
          at java.lang.reflect.Method.invoke(Method.java:508)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
          at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414)
          at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357)
      Caused by: org.apache.maven.plugin.MojoExecutionException: Error rendering velocity resource.
          at org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo.processResourceBundles(ProcessRemoteResourcesMojo.java:1246)
          at org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo.execute(ProcessRemoteResourcesMojo.java:520)
          at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
          ... 19 more
      Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getResourceAsFile' in  class org.codehaus.plexus.resource.DefaultResourceManager threw exception org.codehaus.plexus.resource.loader.ResourceNotFoundException: Could not find resource 'https://www.apache.org/licenses/LICENSE-2.0.txt'. at remote-resources[line 38, column 26]
          at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:243)
          at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:187)
          at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
          at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:567)
          at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71)
          at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:142)
          at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
          at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
          at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
          at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
          at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
          at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:420)
          at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
          at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
          at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:420)
          at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
          at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
          at org.apache.velocity.runtime.RuntimeInstance.render(RuntimeInstance.java:1378)
          at org.apache.velocity.runtime.RuntimeInstance.evaluate(RuntimeInstance.java:1314)
          at org.apache.velocity.app.Velocity.evaluate(Velocity.java:254)
          at org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo.processResourceBundles(ProcessRemoteResourcesMojo.java:1218)
          ... 22 more
      Caused by: org.codehaus.plexus.resource.loader.ResourceNotFoundException: Could not find resource 'https://www.apache.org/licenses/LICENSE-2.0.txt'.
          at org.codehaus.plexus.resource.DefaultResourceManager.getResource(DefaultResourceManager.java:173)
          at org.codehaus.plexus.resource.DefaultResourceManager.getResourceAsFile(DefaultResourceManager.java:91)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
          at java.lang.reflect.Method.invoke(Method.java:508)
          at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
          at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
          at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
          ... 41 more
      

      The error seems to be caused by Apache Velocity invoking a method to retrieve the file via reflection. But I am not sure why this is, because I can't find any Velocity templates with this reflective method call inside.

      Incidentally, if I disable the plugin using "-Dremoteresources.skip=true", the build succeeds. So it's definitely something caused by the way this plugin is configured.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                hboutemy Hervé Boutemy
                Reporter:
                abbarc Adam John Burley
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: