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

java.lang.NoClassDefFoundError: hudson/maven/MavenReporter

      After updating 1.518 to 1.519, most of our maven 3 jobs terminate at startup with the stack trace below.

      java.io.IOException: Remote call on Channel to Maven [/usr/java/jdk1.6.0_31/bin/java, -Xmx960M, -XX:MaxPermSize=320M, -Dm3plugin.lib=/var/lib/jenkins/plugins/artifactory/WEB-INF/lib, -cp, /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.3.jar:/usr/local/lib/maven/boot/plexus-classworlds-2.4.jar, org.jvnet.hudson.maven3.agent.Maven3Main, /usr/local/lib/maven, /var/cache/jenkins/war/WEB-INF/lib/remoting-2.24.jar, /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-1.3.jar, 52582] failed
      	at hudson.remoting.Channel.call(Channel.java:731)
      	at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:156)
      	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:775)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586)
      	at hudson.model.Run.execute(Run.java:1593)
      	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:491)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:242)
      Caused by: java.lang.NoClassDefFoundError: hudson/maven/MavenReporter
      	at java.lang.ClassLoader.defineClass1(Native Method)
      	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
      	at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
      	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
      	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
      	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
      	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
      	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:386)
      	at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
      	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
      	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
      	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromParent(ClassRealm.java:405)
      	at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:46)
      	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
      	at java.lang.Class.forName0(Native Method)
      	at java.lang.Class.forName(Class.java:247)
      	at hudson.remoting.MultiClassLoaderSerializer$Input.resolveClass(MultiClassLoaderSerializer.java:113)
      	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574)
      	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
      	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
      	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
      	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
      	at java.util.ArrayList.readObject(ArrayList.java:593)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:969)
      	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
      	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
      	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
      	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
      	at java.util.HashMap.readObject(HashMap.java:1030)
      	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:969)
      	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
      	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
      	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
      	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
      	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
      	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
      	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
      	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
      	at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:98)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      	at hudson.remoting.Request$2.run(Request.java:326)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      	at java.lang.Thread.run(Thread.java:662)
      Caused by: java.lang.ClassNotFoundException: hudson.maven.MavenReporter
      	at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
      	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
      	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
      	... 59 more
      
      

          [JENKINS-18401] java.lang.NoClassDefFoundError: hudson/maven/MavenReporter

          I to can attest The Link from Topic JENKINS-18422 that this is occuring due to some change that seems to affect the artifactory plugin. Disable the artifactory plugin, and manually add in to the Maven Options: -Dm3plugin.lib=/usr/share/tomcat6/codeslave0/artifactory-plugin/2.1.5/ or whatever the path is to your current Artifactory plugin is located at.

          Jonathan Petrush added a comment - I to can attest The Link from Topic JENKINS-18422 that this is occuring due to some change that seems to affect the artifactory plugin. Disable the artifactory plugin, and manually add in to the Maven Options: -Dm3plugin.lib=/usr/share/tomcat6/codeslave0/artifactory-plugin/2.1.5/ or whatever the path is to your current Artifactory plugin is located at.

          I downgraded jenkins and Maven Integration plugin and the problem appear that was solved.

          • Jenkins 1.518
          • Maven plugin 1.515

          Fernando Rosado Altamirano added a comment - I downgraded jenkins and Maven Integration plugin and the problem appear that was solved. Jenkins 1.518 Maven plugin 1.515

          I looked into this and here's why this problem is happening.

          In order to interact with Maven at some pretty deep level, Artifactory plugin puts a lot of jars into Maven's "plexus.core" classpath. It does this by putting every jar that the artifactory plugin bundles in its WEB-INF/lib folder. This can be seen in the following classworlds.conf file it uses, and the actual value of m3plugin.lib that it passes when it launches JVM, such as -Dm3plugin.lib=/var/lib/jenkins/plugins/artifactory/WEB-INF/lib:

          main is org.apache.maven.cli.MavenCli from plexus.core
          
          set maven.home default ${user.home}/m2
          
          [plexus.core]
          load ${maven.home}/lib/*.jar
          load ${m3plugin.lib}/*.jar
          

          Aside from dependency jars, Jenkins plugins have its own set of code. Historically, they were packaged in the WEB-INF/classes folder of the plugin, and therefore they were not added to the above classpath before.

          However, as a part of JENKINS-15120, we changed this, and now the plugin source code gets compiled into WEB-INF/lib/classes.jar and {{WEB-INF/classes} is kept empty.While somewhat dubious, this by itself wasn't a fatal problem.

          As a result, now the classes.jar from artifactory plugin gets added to plexus core classpath, and when Artifactory plugin's MavenReporter implementation gets loaded into Maven JVM via remoting, it ends up resolving to the one loaded in plexus.core, instead of the dynamic classloader created by Jenkins remoting. This fails to resolve the dependencies (MavenReporter) properly, and it chokes.

          Kohsuke Kawaguchi added a comment - I looked into this and here's why this problem is happening. In order to interact with Maven at some pretty deep level, Artifactory plugin puts a lot of jars into Maven's "plexus.core" classpath. It does this by putting every jar that the artifactory plugin bundles in its WEB-INF/lib folder. This can be seen in the following classworlds.conf file it uses, and the actual value of m3plugin.lib that it passes when it launches JVM, such as -Dm3plugin.lib=/var/lib/jenkins/plugins/artifactory/WEB-INF/lib : main is org.apache.maven.cli.MavenCli from plexus.core set maven.home default ${user.home}/m2 [plexus.core] load ${maven.home}/lib/*.jar load ${m3plugin.lib}/*.jar Aside from dependency jars, Jenkins plugins have its own set of code. Historically, they were packaged in the WEB-INF/classes folder of the plugin, and therefore they were not added to the above classpath before. However, as a part of JENKINS-15120 , we changed this, and now the plugin source code gets compiled into WEB-INF/lib/classes.jar and {{WEB-INF/classes} is kept empty.While somewhat dubious, this by itself wasn't a fatal problem. As a result, now the classes.jar from artifactory plugin gets added to plexus core classpath, and when Artifactory plugin's MavenReporter implementation gets loaded into Maven JVM via remoting, it ends up resolving to the one loaded in plexus.core , instead of the dynamic classloader created by Jenkins remoting. This fails to resolve the dependencies ( MavenReporter ) properly, and it chokes.

          The artifactory plugin really shouldn't put such a large number of dependencies into the plexus.core classloader. If you look at the list, it includes such things like commons http, Jackson, Guava, XPP, JDOM, commons-logging, and etc.

          These jar files would be visible throughout Maven, and when a plugin attempts to load a conflicting version of one of the dependencies, they will end up picking up the version the artifactory plugin inserts. This can cause strange compatibility issues.

          To minimize the classpath contamination, it should insert minimal possible, which is just one class that implements org.apache.maven.AbstractMavenLifecycleParticipant, into the plexus.core realm.

          It should then create another realm as a child of the plexus.core realm, then load everything in there. The bridge class you insert into plexus.core should then delegate to the logic in the child realm.

          For the time being, I'm putting a quick fix to get us back on track, but I encourage the plugin maintainers to conside r these changes.

          Kohsuke Kawaguchi added a comment - The artifactory plugin really shouldn't put such a large number of dependencies into the plexus.core classloader. If you look at the list, it includes such things like commons http, Jackson, Guava, XPP, JDOM, commons-logging, and etc. These jar files would be visible throughout Maven, and when a plugin attempts to load a conflicting version of one of the dependencies, they will end up picking up the version the artifactory plugin inserts. This can cause strange compatibility issues. To minimize the classpath contamination, it should insert minimal possible, which is just one class that implements org.apache.maven.AbstractMavenLifecycleParticipant , into the plexus.core realm. It should then create another realm as a child of the plexus.core realm, then load everything in there. The bridge class you insert into plexus.core should then delegate to the logic in the child realm. For the time being, I'm putting a quick fix to get us back on track, but I encourage the plugin maintainers to conside r these changes.

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          src/main/java/org/jfrog/hudson/util/PluginDependencyHelper.java
          http://jenkins-ci.org/commit/artifactory-plugin/f7fa8d30bbf2bb79109538582821e1559e637c7a
          Log:
          [FIXED JENKINS-18401]

          Don't load the plugin classes into plexus.core. This is a quick fix. See my comment in JENKINS-18401 for the proper fix

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: src/main/java/org/jfrog/hudson/util/PluginDependencyHelper.java http://jenkins-ci.org/commit/artifactory-plugin/f7fa8d30bbf2bb79109538582821e1559e637c7a Log: [FIXED JENKINS-18401] Don't load the plugin classes into plexus.core. This is a quick fix. See my comment in JENKINS-18401 for the proper fix

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          pom.xml
          http://jenkins-ci.org/commit/artifactory-plugin/5f49381b7088d0a7be72f98a739951454e9f09a3
          Log:
          JENKINS-18401

          jzlib that artifactory plugin inserts into plexus.core breaks the use of jzlib-1.1.2 in Jenkins 1.519.

          hudson.util.IOException2: java.lang.reflect.InvocationTargetException
          at hudson.maven.Maven3Builder.call(Maven3Builder.java:162)
          at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
          at hudson.remoting.UserRequest.perform(UserRequest.java:118)
          at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          at hudson.remoting.Request$2.run(Request.java:326)
          at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
          at java.util.concurrent.FutureTask.run(FutureTask.java:166)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:679)
          Caused by: java.lang.Exception: java.lang.reflect.InvocationTargetException
          at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:177)
          at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
          ... 10 more
          Caused by: java.lang.reflect.InvocationTargetException
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:616)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
          at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:174)
          ... 11 more
          Caused by: java.lang.VerifyError: Cannot inherit from final class
          at java.lang.ClassLoader.defineClass1(Native Method)
          at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
          at java.lang.ClassLoader.defineClass(ClassLoader.java:480)
          at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:289)
          at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:229)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
          at com.jcraft.jzlib.GZIPOutputStream.<init>(GZIPOutputStream.java:46)
          at com.jcraft.jzlib.GZIPOutputStream.<init>(GZIPOutputStream.java:40)
          at com.jcraft.jzlib.GZIPOutputStream.<init>(GZIPOutputStream.java:36)
          at hudson.console.ConsoleNote.encodeToBytes(ConsoleNote.java:174)
          at hudson.console.ConsoleNote.encode(ConsoleNote.java:193)
          at hudson.maven.util.ExecutionEventLogger.mojoStarted(ExecutionEventLogger.java:277)
          at hudson.maven.Maven3Builder$MavenExecutionListener.mojoStarted(Maven3Builder.java:409)
          at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:84)
          at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:42)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:203)
          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.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
          ... 18 more

          Compare: https://github.com/jenkinsci/artifactory-plugin/compare/b6c0173531f4...5f49381b7088

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: pom.xml http://jenkins-ci.org/commit/artifactory-plugin/5f49381b7088d0a7be72f98a739951454e9f09a3 Log: JENKINS-18401 jzlib that artifactory plugin inserts into plexus.core breaks the use of jzlib-1.1.2 in Jenkins 1.519. hudson.util.IOException2: java.lang.reflect.InvocationTargetException at hudson.maven.Maven3Builder.call(Maven3Builder.java:162) at hudson.maven.Maven3Builder.call(Maven3Builder.java:66) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:679) Caused by: java.lang.Exception: java.lang.reflect.InvocationTargetException at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:177) at hudson.maven.Maven3Builder.call(Maven3Builder.java:100) ... 10 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239) at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:174) ... 11 more Caused by: java.lang.VerifyError: Cannot inherit from final class at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:634) at java.lang.ClassLoader.defineClass(ClassLoader.java:480) at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:289) at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:229) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) at com.jcraft.jzlib.GZIPOutputStream.<init>(GZIPOutputStream.java:46) at com.jcraft.jzlib.GZIPOutputStream.<init>(GZIPOutputStream.java:40) at com.jcraft.jzlib.GZIPOutputStream.<init>(GZIPOutputStream.java:36) at hudson.console.ConsoleNote.encodeToBytes(ConsoleNote.java:174) at hudson.console.ConsoleNote.encode(ConsoleNote.java:193) at hudson.maven.util.ExecutionEventLogger.mojoStarted(ExecutionEventLogger.java:277) at hudson.maven.Maven3Builder$MavenExecutionListener.mojoStarted(Maven3Builder.java:409) at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:84) at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:42) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:203) 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.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79) ... 18 more Compare: https://github.com/jenkinsci/artifactory-plugin/compare/b6c0173531f4...5f49381b7088

          I'll leave it up to the Artifactory team to decide when to release the changes.

          Kohsuke Kawaguchi added a comment - I'll leave it up to the Artifactory team to decide when to release the changes.

          Nicolas Phung added a comment - - edited

          Related issue in Artifactory Plugin https://issues.jfrog.org/browse/HAP-417

          Nicolas Phung added a comment - - edited Related issue in Artifactory Plugin https://issues.jfrog.org/browse/HAP-417

          The problem presists on 1.526. I can't update Jenkins until the Artifactory plugin solve the problem.

          Fernando Rosado Altamirano added a comment - The problem presists on 1.526. I can't update Jenkins until the Artifactory plugin solve the problem.

          Code changed in jenkins
          User: Tom
          Path:
          src/main/java/hudson/plugins/scm_sync_configuration/JenkinsFilesHelper.java
          src/main/java/hudson/plugins/scm_sync_configuration/strategies/model/JobOrFolderConfigurationEntityMatcher.java
          src/main/java/hudson/plugins/scm_sync_configuration/strategies/model/PatternsEntityMatcher.java
          src/test/java/hudson/plugins/scm_sync_configuration/basic/ScmSyncConfigurationBasicTest.java
          http://jenkins-ci.org/commit/scm-sync-configuration-plugin/dec742843b95e8423ffc7f7182c43574483fac6f
          Log:
          JENKINS-18401: Don't fail on files outside $JENKINS_HOME

          This plugin can only put things under $JENKINS_HOME into SCM. If
          workspaces are located elsewhere, it failed with an exception.

          Newly, we just ignore such files. In all likelihood, users won't want
          to sync workspace files anyway. The same goes for the builds directory.
          People who really might want to put stuff from there into SCM can
          try symlinking to their desired workspace/build roots from
          $JENKINS_HOME. Restoring from SCM may, however, then produce unexpected
          results.

          Should fix JENKINS-18401 and related issues such as JENKINS-13593 and
          JENKINS-19984.

          Includes two tests for buildPathRelativeToHudsonRoot(), and use
          org.junit.Assert.assertNotNull etc.instead of the hamcrest matchers.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Tom Path: src/main/java/hudson/plugins/scm_sync_configuration/JenkinsFilesHelper.java src/main/java/hudson/plugins/scm_sync_configuration/strategies/model/JobOrFolderConfigurationEntityMatcher.java src/main/java/hudson/plugins/scm_sync_configuration/strategies/model/PatternsEntityMatcher.java src/test/java/hudson/plugins/scm_sync_configuration/basic/ScmSyncConfigurationBasicTest.java http://jenkins-ci.org/commit/scm-sync-configuration-plugin/dec742843b95e8423ffc7f7182c43574483fac6f Log: JENKINS-18401 : Don't fail on files outside $JENKINS_HOME This plugin can only put things under $JENKINS_HOME into SCM. If workspaces are located elsewhere, it failed with an exception. Newly, we just ignore such files. In all likelihood, users won't want to sync workspace files anyway. The same goes for the builds directory. People who really might want to put stuff from there into SCM can try symlinking to their desired workspace/build roots from $JENKINS_HOME. Restoring from SCM may, however, then produce unexpected results. Should fix JENKINS-18401 and related issues such as JENKINS-13593 and JENKINS-19984 . Includes two tests for buildPathRelativeToHudsonRoot(), and use org.junit.Assert.assertNotNull etc.instead of the hamcrest matchers.

            Unassigned Unassigned
            osandum Ole Sandum
            Votes:
            7 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated:
              Resolved: