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

ClassNotFoundException: hudson.maven.local_repo.PerJobLocalRepositoryLocator

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Incomplete
    • Icon: Major Major
    • maven-plugin
    • None

      After migrating from 1.473 to 1.478 and restarting Jenkins, we get the following exceptions thrown:

      EVERE: Failed Loading job jobName
      hudson.util.IOException2: Unable to read D:\jenkins\home\jobs\jobName\config.xml
      	at hudson.XmlFile.read(XmlFile.java:143)
      	at hudson.model.Items.load(Items.java:208)
      	at jenkins.model.Jenkins$17.run(Jenkins.java:2494)
      	at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146)
      	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
      	at jenkins.model.Jenkins$7.runTask(Jenkins.java:879)
      	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
      	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
      	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.NoClassDefFoundError: hudson/maven/local_repo/PerJobLocalRepositoryLocator
      	at sun.reflect.GeneratedSerializationConstructorAccessor47.newInstance(Unknown Source)
      	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      	at com.thoughtworks.xstream.converters.reflection.Sun14ReflectionProvider.newInstance(Sun14ReflectionProvider.java:76)
      	at hudson.util.RobustReflectionConverter.instantiateNewInstance(RobustReflectionConverter.java:335)
      	at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:180)
      	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
      	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
      	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
      	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
      	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
      	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
      	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:926)
      	at hudson.util.XStream2.unmarshal(XStream2.java:93)
      	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:912)
      	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:864)
      	at hudson.XmlFile.read(XmlFile.java:137)
      	... 10 more
      Caused by: java.lang.ClassNotFoundException: hudson.maven.local_repo.PerJobLocalRepositoryLocator
      	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
      	... 26 more
      

      For all our jobs except the ones we use to produce nightly builds.
      The config.xml used for projects which fail is:

      <?xml version='1.0' encoding='UTF-8'?>
      <maven2-moduleset>
        <actions/>
        <description></description>
        <logRotator>
          <daysToKeep>60</daysToKeep>
          <numToKeep>-1</numToKeep>
          <artifactDaysToKeep>-1</artifactDaysToKeep>
          <artifactNumToKeep>-1</artifactNumToKeep>
        </logRotator>
        <keepDependencies>false</keepDependencies>
        <properties/>
        <scm class="hudson.scm.SubversionSCM">
          <locations>
            <hudson.scm.SubversionSCM_-ModuleLocation>
              <remote>our svn url</remote>
              <local>.</local>
            </hudson.scm.SubversionSCM_-ModuleLocation>
          </locations>
          <excludedRegions></excludedRegions>
          <includedRegions></includedRegions>
          <excludedUsers></excludedUsers>
          <excludedRevprop></excludedRevprop>
          <excludedCommitMessages></excludedCommitMessages>
          <workspaceUpdater class="hudson.scm.subversion.CheckoutUpdater"/>
        </scm>
        <canRoam>true</canRoam>
        <disabled>false</disabled>
        <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
        <blockBuildWhenUpstreamBuilding>true</blockBuildWhenUpstreamBuilding>
        <triggers class="vector">
          <hudson.triggers.TimerTrigger>
            <spec>0 */3 * * *</spec>
          </hudson.triggers.TimerTrigger>
          <hudson.triggers.SCMTrigger>
            <spec>5 * * * *</spec>
          </hudson.triggers.SCMTrigger>
        </triggers>
        <concurrentBuild>false</concurrentBuild>
        <rootModule>
          <groupId>our.groupId</groupId>
          <artifactId>artifactId</artifactId>
        </rootModule>
        <goals>clean install -e -X</goals>
        <defaultGoals>install</defaultGoals>
        <aggregatorStyleBuild>true</aggregatorStyleBuild>
        <incrementalBuild>false</incrementalBuild>
        <perModuleEmail>true</perModuleEmail>
        <ignoreUpstremChanges>true</ignoreUpstremChanges>
        <archivingDisabled>false</archivingDisabled>
        <resolveDependencies>false</resolveDependencies>
        <processPlugins>false</processPlugins>
        <mavenValidationLevel>-1</mavenValidationLevel>
        <runHeadless>false</runHeadless>
        <settingConfigId></settingConfigId>
        <globalSettingConfigId></globalSettingConfigId>
        <reporters>
          <hudson.maven.reporters.MavenMailer>
            <recipients></recipients>
            <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
            <sendToIndividuals>true</sendToIndividuals>
            <perModuleEmail>true</perModuleEmail>
          </hudson.maven.reporters.MavenMailer>
        </reporters>
        <publishers>
          <hudson.tasks.BuildTrigger>
            <childProjects>child1</childProjects>
            <threshold>
              <name>SUCCESS</name>
              <ordinal>0</ordinal>
              <color>BLUE</color>
            </threshold>
          </hudson.tasks.BuildTrigger>
          <hudson.plugins.performance.PerformancePublisher>
            <errorFailedThreshold>0</errorFailedThreshold>
            <errorUnstableThreshold>0</errorUnstableThreshold>
            <parsers>
              <hudson.plugins.performance.JUnitParser>
                <glob>**/TEST-*.xml </glob>
              </hudson.plugins.performance.JUnitParser>
            </parsers>
          </hudson.plugins.performance.PerformancePublisher>
          <hudson.plugins.blame__upstream__commiters.BlameUpstreamCommitersPublisher>
            <sendToIndividuals>false</sendToIndividuals>
          </hudson.plugins.blame__upstream__commiters.BlameUpstreamCommitersPublisher>
        </publishers>
        <buildWrappers/>
        <prebuilders/>
        <postbuilders/>
        <runPostStepsIfResult>
          <name>FAILURE</name>
          <ordinal>2</ordinal>
          <color>RED</color>
        </runPostStepsIfResult>
      </maven2-moduleset>
      

      And the one not failing is (same code base, same SVN url):

      <?xml version='1.0' encoding='UTF-8'?>
      <project>
        <actions/>
        <description>This job will deploy the artifacts to the nightly builds&apos; repository</description>
        <logRotator>
          <daysToKeep>31</daysToKeep>
          <numToKeep>-1</numToKeep>
          <artifactDaysToKeep>-1</artifactDaysToKeep>
          <artifactNumToKeep>-1</artifactNumToKeep>
        </logRotator>
        <keepDependencies>false</keepDependencies>
        <properties/>
        <scm class="hudson.scm.SubversionSCM">
          <locations>
            <hudson.scm.SubversionSCM_-ModuleLocation>
              <remote>our svn url</remote>
              <local>.</local>
            </hudson.scm.SubversionSCM_-ModuleLocation>
          </locations>
          <excludedRegions></excludedRegions>
          <includedRegions></includedRegions>
          <excludedUsers></excludedUsers>
          <excludedRevprop></excludedRevprop>
          <excludedCommitMessages></excludedCommitMessages>
          <workspaceUpdater class="hudson.scm.subversion.CheckoutUpdater"/>
        </scm>
        <canRoam>true</canRoam>
        <disabled>false</disabled>
        <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
        <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
        <triggers class="vector"/>
        <concurrentBuild>false</concurrentBuild>
        <builders>
          <hudson.tasks.BatchFile>
            <command>D:\jenkins\scripts\nightly_builds_update_version.bat</command>
          </hudson.tasks.BatchFile>
          <hudson.tasks.Maven>
            <targets>clean install</targets>
            <mavenName>(Default)</mavenName>
            <usePrivateRepository>false</usePrivateRepository>
          </hudson.tasks.Maven>
          <hudson.tasks.Maven>
            <targets>deploy -Dnightly.build -DskipTests</targets>
            <mavenName>(Default)</mavenName>
            <usePrivateRepository>false</usePrivateRepository>
          </hudson.tasks.Maven>
        </builders>
        <publishers>
          <hudson.tasks.BuildTrigger>
            <childProjects>child1</childProjects>
            <threshold>
              <name>SUCCESS</name>
              <ordinal>0</ordinal>
              <color>BLUE</color>
            </threshold>
          </hudson.tasks.BuildTrigger>
          <hudson.plugins.emailext.ExtendedEmailPublisher>
            <recipientList>$DEFAULT_RECIPIENTS</recipientList>
            <configuredTriggers>
              <hudson.plugins.emailext.plugins.trigger.FailureTrigger>
                <email>
                  <recipientList>${NIGHTLY_BUILDS_RECIPIENTS}</recipientList>
                  <subject>${PROJECT_NAME} - Failure</subject>
                  <body>${PROJECT_NAME} - Failure.
      
      The artifacts are not available on the nighlty builds&apos; repository.</body>
                  <sendToDevelopers>true</sendToDevelopers>
                  <sendToRequester>false</sendToRequester>
                  <includeCulprits>false</includeCulprits>
                  <sendToRecipientList>true</sendToRecipientList>
                </email>
              </hudson.plugins.emailext.plugins.trigger.FailureTrigger>
            </configuredTriggers>
            <contentType>default</contentType>
            <defaultSubject>$DEFAULT_SUBJECT</defaultSubject>
            <defaultContent>$DEFAULT_CONTENT</defaultContent>
            <attachmentsPattern></attachmentsPattern>
          </hudson.plugins.emailext.ExtendedEmailPublisher>
          <hudson.plugins.blame__upstream__commiters.BlameUpstreamCommitersPublisher>
            <sendToIndividuals>false</sendToIndividuals>
          </hudson.plugins.blame__upstream__commiters.BlameUpstreamCommitersPublisher>
          <hudson.tasks.Mailer>
            <recipients>email</recipients>
            <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
            <sendToIndividuals>true</sendToIndividuals>
          </hudson.tasks.Mailer>
        </publishers>
        <buildWrappers/>
      </project>
      

      I don't know which component is affected, I hope I almost got the good one.

      Regards,

      Olivier

            domi Dominik Bartholdi
            olivier Olivier Jolit
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: