# Multiple repositories in Gradle 4.3

**URL:** <https://discuss.gradle.org/t/multiple-repositories-in-gradle-4-3/24647>\
**Category:** Help/Discuss\
**Created:** [November 2, 2017, 8:04pm UTC](https://discuss.gradle.org/t/multiple-repositories-in-gradle-4-3/24647 "2017-11-02T20:04:22Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![noctus](https://avatars.discourse-cdn.com/v4/letter/n/b77776/32.png) [@noctus](https://discuss.gradle.org/u/noctus)\
**Post date:** [November 2, 2017, 8:04pm UTC](https://discuss.gradle.org/t/multiple-repositories-in-gradle-4-3/24647/1 "2017-11-02T20:04:22Z")

</div>

Hi,

we have a build with multiple repositories:

1. Nexus for manage public dependencies(cache proxy)
2. Flat repository in the file system.  
The second one we use **for artifacts which should be stored locally**. With Gradle 4.3 we got [this](https://docs.gradle.org/4.3/release-notes.html#avoid-checking-other-repositories-when-dependency-resolution-in-one-repository-fails). Have someone any ideas how this behavior might be disabled or avoided?

---

<div class="post-metadata">

**Author:** ![st\_oehme](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/st_oehme/32/5249_2.png) [@st\_oehme](https://discuss.gradle.org/u/st_oehme)\
**Post date:** [November 3, 2017, 8:21am UTC](https://discuss.gradle.org/t/multiple-repositories-in-gradle-4-3/24647/2 "2017-11-03T08:21:27Z")

</div>

Can you please be more specific what problem you are facing? Gradle will only fail if a repository had an error (e.g. 503, 401 etc.). If the response is 404 (not found), Gradle will continue as usual. Is your Nexus repository returning an error code like “unauthorized”?

---

<div class="post-metadata">

**Author:** ![noctus](https://avatars.discourse-cdn.com/v4/letter/n/b77776/32.png) [@noctus](https://discuss.gradle.org/u/noctus)\
**Post date:** [November 4, 2017, 8:50am UTC](https://discuss.gradle.org/t/multiple-repositories-in-gradle-4-3/24647/3 "2017-11-04T08:50:16Z")

</div>

Yes, we got a “400” code

```gradle
 > Could not resolve :Wowza Media Server 3.6.2/lib/jid3lib-0.5.4:.
   Required by:
       project :WowzaModules_3_x
    > Could not resolve :Wowza Media Server 3.6.2/lib/jid3lib-0.5.4:.
       > Could not get resource 'http://artifact-repo:38081/repository/external-proxy//Wowza%20Media%20Server%203.6.2/lib/jid3lib-0.5.4//Wowza%20Media%20Server%203.6.2/lib/jid3lib-0.5.4-.pom'.
        > Could not GET 'http://artifact-repo:38081/repository/externals//Wowza%20Media%20Server%203.6.2/lib/jid3lib-0.5.4//Wowza%20Media%20Server%203.6.2/lib/jid3lib-0.5.4-.pom'. 
        Received status code 400 from server: Invalid repository path

```

---

<div class="post-metadata">

**Author:** ![st\_oehme](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/st_oehme/32/5249_2.png) [@st\_oehme](https://discuss.gradle.org/u/st_oehme)\
**Post date:** [November 4, 2017, 10:10am UTC](https://discuss.gradle.org/t/multiple-repositories-in-gradle-4-3/24647/4 "2017-11-04T10:10:34Z")

</div>

Thank you for the details. We are reverting this change for 4.3.1 and making the handling more lenient in 4.4. See [https://github.com/gradle/gradle/issues/3335](https://github.com/gradle/gradle/issues/3335)

---

<div class="post-metadata">

**Author:** ![st\_oehme](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/st_oehme/32/5249_2.png) [@st\_oehme](https://discuss.gradle.org/u/st_oehme)\
**Post date:** [November 4, 2017, 10:13am UTC](https://discuss.gradle.org/t/multiple-repositories-in-gradle-4-3/24647/5 "2017-11-04T10:13:14Z")

</div>

The exception you are getting looks like a bad dependency declaration though. Can you show me how you are declaring this dependency? This probably only works because of some missing validation in Gradle.

---

<div class="post-metadata">

**Author:** ![noctus](https://avatars.discourse-cdn.com/v4/letter/n/b77776/32.png) [@noctus](https://discuss.gradle.org/u/noctus)\
**Post date:** [November 4, 2017, 6:54pm UTC](https://discuss.gradle.org/t/multiple-repositories-in-gradle-4-3/24647/6 "2017-11-04T18:54:05Z")

</div>

I don’t remember how it’s defined exactly, but it’s something like:

```gradle
Wowza Media Server 3.6.2/lib/jid3lib-0.5.4

```

The right version I can send you just at this Tuesday, because we are on holidays until November 6.

---

<div class="post-metadata">

**Author:** ![st\_oehme](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/st_oehme/32/5249_2.png) [@st\_oehme](https://discuss.gradle.org/u/st_oehme)\
**Post date:** [November 5, 2017, 10:49am UTC](https://discuss.gradle.org/t/multiple-repositories-in-gradle-4-3/24647/7 "2017-11-05T10:49:59Z")

</div>

That’s probably the issue - the dependency should just be “jid3lib:0.5.4”. “Media Server 3.6.2/lib/” should be added as a flatDir repository.

---

<div class="post-metadata">

**Author:** ![noctus](https://avatars.discourse-cdn.com/v4/letter/n/b77776/32.png) [@noctus](https://discuss.gradle.org/u/noctus)\
**Post date:** [November 6, 2017, 12:35pm UTC](https://discuss.gradle.org/t/multiple-repositories-in-gradle-4-3/24647/8 "2017-11-06T12:35:35Z")

</div>

I don’t think so. It’s a ‘flat dependency’. I know best way define dependencies is a GAV record. But in our case, it’s definitely appropriate. Also, these 3rd party dependencies we got “AS IS” & it’s not a good idea try to manage these dependencies in an automatic manner at this time.

---

<div class="post-metadata">

**Author:** ![st\_oehme](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/st_oehme/32/5249_2.png) [@st\_oehme](https://discuss.gradle.org/u/st_oehme)\
**Post date:** [November 6, 2017, 5:58pm UTC](https://discuss.gradle.org/t/multiple-repositories-in-gradle-4-3/24647/9 "2017-11-06T17:58:23Z")

</div>

You are probably doing something like:

```gradle
dependencies {
   compile "Wowza Media Server 3.6.2/lib/jid3lib-0.5.4"
}

```

Which is telling Gradle to look for an external dependency with empty group, empty version and artifact name = “Wowza Media Server 3.6.2/lib/jid3lib-0.5.4”.

If you just want a [file dependency](https://docs.gradle.org/current/userguide/dependency_management.html#sub:file_dependencies), then you should be using

```gradle
dependencies {
   compile files("Wowza Media Server 3.6.2/lib/jid3lib-0.5.4")
}

```

Or you can use a [flatDir](https://docs.gradle.org/current/userguide/dependency_management.html#sec:flat_dir_resolver) repository. That makes the dependency declarations look a bit more tidy and similar to external dependencies:

```gradle
repositories {
    flatDir {
        dirs 'Wowza Media Server 3.6.2/lib/'
    }
}
dependencies {
  compile “jid3lib:0.5.4”
}

```
