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

Maven build should not require access to apache.org

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 3.2.1, 3.5.2
    • 3.6.0
    • Bootstrap & Build
    • None
    • 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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            hboutemy Herve Boutemy
            abbarc Adam John Burley
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment