<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>

CC BY-SA 4.0
2018-05-24T08:15:26.727Z
as expected in the `config.xml` the drive letter was missing in the `<buildsDir>` tag.
Timothy Truckle
CC BY-SA 4.0
2018-05-24T07:01:47.753Z
2018-05-24T07:01:47.753Z
2020-06-18T08:28:10.803Z
SaxDaddy
<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>

CC BY-SA 4.0
2018-06-07T11:02:40.650Z
A valuable information although not quite the problem I had.
Timothy Truckle
CC BY-SA 4.0
2018-06-07T10:30:29.563Z
2018-06-07T10:30:29.563Z
user8228
<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>

<jenkins2><installation><startup>
after automatic update jenkins fails with `InvalidBuildsDir: .../${ITEM_FULL_NAME}/builds does not resolve to an absolute path`
Timothy Truckle
# 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.(Jenkins.java:904)
    at hudson.model.Hudson.(Hudson.java:85)
    at hudson.model.Hudson.(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.  

---

