Answers: <p>I'm not very familiar with Jenkins on Windows, but I imagine your issue lies in the fact installing Jenkins on drives other than <code>C:\</code> are more difficult to deal with. Since Jenkins is not running, you'll have to configure <code>config.xml</code> by hand.</p>
  <p>Here's <a href="https://stackoverflow.com/questions/34854377/how-to-change-workspace-and-build-record-root-directory-on-jenkins">a post on stackoverflow.com</a> that may help you. As they state, you'll probably need to find the <strong>Workspace Root Directory</strong> to <code>D:\Jenkins\${ITEM_FULL_NAME}\workspace</code> and <strong>Build Record Root Directory</strong> to <code>D:\Jenkins\${ITEM_FULL_NAME}\builds</code> (or whatever values are specific to your environment) in your <code>config.xml</code>.</p>
  <p>The post also mentions the <em>bubble help</em> info that is useful:</p>
  <blockquote>
  <p>This value may include the following variables:</p>
  <ul>
  <li><p><code>${JENKINS_HOME}</code> — Absolute path of the Jenkins home directory</p>
  </li>
  <li><p><code>${ITEM_ROOTDIR}</code> — Absolute path of the directory where Jenkins stores the configuration and related metadata for a given job</p>
  </li>
  <li><p><code>${ITEM_FULL_NAME}</code> — The full name of a given job, which may be slash-separated, e.g. foo/bar for the job bar in folder foo</p>
  </li>
  </ul>
  <p>The value should normally include <code>${ITEM_ROOTDIR}</code> or <code>${ITEM_FULL_NAME}</code>, otherwise different jobs will end up sharing the same workspace.</p>
  </blockquote>
  
Answers: CC BY-SA 4.0
Answers: 2018-05-24T08:15:26.727Z
Answers: as expected in the `config.xml` the drive letter was missing in the `<buildsDir>` tag.
Answers: Timothy Truckle
Answers: CC BY-SA 4.0
Answers: 2018-05-24T07:01:47.753Z
Answers: 2018-05-24T07:01:47.753Z
Answers: 2020-06-18T08:28:10.803Z
Answers: SaxDaddy
Answers: <p>The main problem I faced with a similar jenkins.model.InvalidBuildsDir exception is, that the given path was embedded in white spaces between tag markers and the check then thinks the path starts with white space, thus declaring it non-absolute.</p>
  
Answers: CC BY-SA 4.0
Answers: 2018-06-07T11:02:40.650Z
Answers: A valuable information although not quite the problem I had.
Answers: Timothy Truckle
Answers: CC BY-SA 4.0
Answers: 2018-06-07T10:30:29.563Z
Answers: 2018-06-07T10:30:29.563Z
Answers: user8228
Body: <p>I had a working Jenkins running as a Service on a Windows-2000 Server</p>
  
  <p>I updated my Jenkins from 2.120 to 2.122  via Jenkins own update mechanism.</p>
  
  <p>In the same run I updated some plugings too.</p>
  
  <p>Now my Jenkins fails to (re-) start with this error:</p>
  
  <pre><code>jenkins.model.InvalidBuildsDir: /development/workspace/jenkins/${ITEM_FULL_NAME}/builds does not resolve to an absolute path
      at jenkins.model.Jenkins.checkRawBuildsDir(Jenkins.java:3060)
      at jenkins.model.Jenkins.loadConfig(Jenkins.java:3009)
  Caused: java.io.IOException
      at jenkins.model.Jenkins.loadConfig(Jenkins.java:3012)
      at jenkins.model.Jenkins.access$1200(Jenkins.java:304)
      at jenkins.model.Jenkins$14.run(Jenkins.java:3104)
      at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
      at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
      at jenkins.model.Jenkins$5.runTask(Jenkins.java:1068)
      at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
      at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)
  Caused: org.jvnet.hudson.reactor.ReactorException
      at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:282)
      at jenkins.InitReactorRunner.run(InitReactorRunner.java:48)
      at jenkins.model.Jenkins.executeReactor(Jenkins.java:1102)
      at jenkins.model.Jenkins.&lt;init&gt;(Jenkins.java:904)
      at hudson.model.Hudson.&lt;init&gt;(Hudson.java:85)
      at hudson.model.Hudson.&lt;init&gt;(Hudson.java:81)
      at hudson.WebAppMain$3.run(WebAppMain.java:233)
  Caused: hudson.util.HudsonFailedToLoad
      at hudson.WebAppMain$3.run(WebAppMain.java:250)
  </code></pre>
  
  <p>I suspect that there is a problem to resolve the property <code>${ITEM_FULL_NAME}</code>. </p>
  
  <p>But on the other Hand I'm missing the drive letter (<code>D:</code>) in the path reported too. 
  The Jenkins instance is running from the same drive (<code>D:</code>).</p>
  
  <p>What are my Options to track the Problem and fixing it?</p>
  
Tags: <jenkins2><installation><startup>
Title: after automatic update jenkins fails with `InvalidBuildsDir: .../${ITEM_FULL_NAME}/builds does not resolve to an absolute path`
UserDisplayName: Timothy Truckle
ThreadText: # after automatic update jenkins fails with `InvalidBuildsDir: .../${ITEM_FULL_NAME}/builds does not resolve to an absolute path`
  
  (Asked by: username_0 on 2018-05-17)
  
  I had a working Jenkins running as a Service on a Windows-2000 Server
  
  I updated my Jenkins from 2.120 to 2.122 via Jenkins own update mechanism.
  
  In the same run I updated some plugings too.
  
  Now my Jenkins fails to (re-) start with this error:
  
  ```
  jenkins.model.InvalidBuildsDir: /development/workspace/jenkins/${ITEM_FULL_NAME}/builds does not resolve to an absolute path
      at jenkins.model.Jenkins.checkRawBuildsDir(Jenkins.java:3060)
      at jenkins.model.Jenkins.loadConfig(Jenkins.java:3009)
  Caused: java.io.IOException
      at jenkins.model.Jenkins.loadConfig(Jenkins.java:3012)
      at jenkins.model.Jenkins.access$1200(Jenkins.java:304)
      at jenkins.model.Jenkins$14.run(Jenkins.java:3104)
      at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
      at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
      at jenkins.model.Jenkins$5.runTask(Jenkins.java:1068)
      at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
      at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)
  Caused: org.jvnet.hudson.reactor.ReactorException
      at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:282)
      at jenkins.InitReactorRunner.run(InitReactorRunner.java:48)
      at jenkins.model.Jenkins.executeReactor(Jenkins.java:1102)
      at jenkins.model.Jenkins.<init>(Jenkins.java:904)
      at hudson.model.Hudson.<init>(Hudson.java:85)
      at hudson.model.Hudson.<init>(Hudson.java:81)
      at hudson.WebAppMain$3.run(WebAppMain.java:233)
  Caused: hudson.util.HudsonFailedToLoad
      at hudson.WebAppMain$3.run(WebAppMain.java:250)
  
  ```
  
  I suspect that there is a problem to resolve the property `${ITEM_FULL_NAME}`.
  
  But on the other Hand I'm missing the drive letter (`D:`) in the path reported too.
  The Jenkins instance is running from the same drive (`D:`).
  
  What are my Options to track the Problem and fixing it?
  
  **Tags:** jenkins2, installation, startup
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2018-05-24. Score: 1 | Accepted answer
  
  I'm not very familiar with Jenkins on Windows, but I imagine your issue lies in the fact installing Jenkins on drives other than `C:\` are more difficult to deal with. Since Jenkins is not running, you'll have to configure `config.xml` by hand.
  
  Here's [a post on stackoverflow.com](https://stackoverflow.com/questions/34854377/how-to-change-workspace-and-build-record-root-directory-on-jenkins) that may help you. As they state, you'll probably need to find the **Workspace Root Directory** to `D:\Jenkins\${ITEM_FULL_NAME}\workspace` and **Build Record Root Directory** to `D:\Jenkins\${ITEM_FULL_NAME}\builds` (or whatever values are specific to your environment) in your `config.xml`.
  
  The post also mentions the *bubble help* info that is useful:
  
  > This value may include the following variables:
  >
  > * `${JENKINS_HOME}` — Absolute path of the Jenkins home directory
  > * `${ITEM_ROOTDIR}` — Absolute path of the directory where Jenkins stores the configuration and related metadata for a given job
  > * `${ITEM_FULL_NAME}` — The full name of a given job, which may be slash-separated, e.g. foo/bar for the job bar in folder foo
  >
  > The value should normally include `${ITEM_ROOTDIR}` or `${ITEM_FULL_NAME}`, otherwise different jobs will end up sharing the same workspace.
  
  > **Comments:**
  > **username_0**: as expected in the `config.xml` the drive letter was missing in the `<buildsDir>` tag.  
  
  ---
  
  ### Answer by username_2 on 2018-06-07. Score: 0
  
  The main problem I faced with a similar jenkins.model.InvalidBuildsDir exception is, that the given path was embedded in white spaces between tag markers and the check then thinks the path starts with white space, thus declaring it non-absolute.
  
  > **Comments:**
  > **username_0**: A valuable information although not quite the problem I had.  
  
  ---
  
  