Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-36434

Jigomerge, Jenkins 2, GroovyClassLoader.parseClass Fatal error

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      Running a simple jigomerge causes this error:

      FATAL: groovy.lang.GroovyClassLoader.parseClass(Ljava/io/InputStream;)Ljava/lang/Class;
      java.lang.NoSuchMethodError: groovy.lang.GroovyClassLoader.parseClass(Ljava/io/InputStream;)Ljava/lang/Class;
      	at hudson.plugins.jigomerge.JigomergeBuilder.perform(JigomergeBuilder.java:93)
      	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
      	at hudson.model.Build$BuildExecution.build(Build.java:205)
      	at hudson.model.Build$BuildExecution.doRun(Build.java:162)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
      	at hudson.model.Run.execute(Run.java:1741)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      	at hudson.model.ResourceController.execute(ResourceController.java:98)
      	at hudson.model.Executor.run(Executor.java:410)
      

      This is is due to a modification in groovy where the method parseClass(InputStream in) has been removed: the easiest alternative would be to use

      parseClass(String text)
      

      or a deprecated function

      parseClass(InputStream in, String fileName)
      

      This modification has to be done in JigomergeBuilder.java#L93.

      EDIT: We maybe could rather change JigomergeBuilder.java#L90:

      InputStream scriptResource = this.getClass().getResourceAsStream(
      					"/scripts/jigomerge-" + JIGOMERGE_VERSION + ".groovy");
      

      to

      File scriptResource = new File ("/scripts/jigomerge-" + JIGOMERGE_VERSION + ".groovy");
      

      .

        Attachments

          Activity

          Hide
          gmenard Guillaume Ménard added a comment -

          Corrected in further version (v0.9+) using

          parseClass(InputStream in, String fileName)
          

          .

          Show
          gmenard Guillaume Ménard added a comment - Corrected in further version (v0.9+) using parseClass(InputStream in, String fileName) .

            People

            Assignee:
            gmenard Guillaume Ménard
            Reporter:
            gmenard Guillaume Ménard
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: