# Help resolving classpath issues in buildscript dependencies

**URL:** <https://discuss.gradle.org/t/help-resolving-classpath-issues-in-buildscript-dependencies/1838>\
**Category:** Old Forum Archive\
**Created:** [February 14, 2012, 9:54am UTC](https://discuss.gradle.org/t/help-resolving-classpath-issues-in-buildscript-dependencies/1838 "2012-02-14T09:54:00Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![inversebit](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/inversebit/32/212_2.png) [@inversebit](https://discuss.gradle.org/u/inversebit)\
**Post date:** [February 14, 2012, 9:54am UTC](https://discuss.gradle.org/t/help-resolving-classpath-issues-in-buildscript-dependencies/1838/1 "2012-02-14T09:54:00Z")

</div>

I have a buildscript dependency ‘lesscss4j’ that requires a specific version of the rhino javascript library, the problem is that another buildscript dependency ‘yuicompressor’ has a bundled version of rhino which conflicts. Changing the order only changes which task fails.

Any suggestion about how to resolve this? I considered separating out the ‘yuicompressor’ task to a plugin but as far as I can tell from the docs it’s not possible to declare a separate classpath for a plugin… maybe I’m wrong here?

```
buildscript {

 repositories {

mavenCentral()

 }

 dependencies {

classpath group: 'rhino', name: 'js', version: '1.7R2'

classpath group: 'com.googlecode.lesscss4j', name: 'lesscss4j', version: '1.2.0'

classpath group: 'com.yahoo.platform.yui', name: 'yuicompressor', version: '2.4.6'

 } }
```

---

<div class="post-metadata">

**Author:** ![Peter\_Niederwieser](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@Peter\_Niederwieser](https://discuss.gradle.org/u/Peter_Niederwieser)\
**Post date:** [February 14, 2012, 4:41pm UTC](https://discuss.gradle.org/t/help-resolving-classpath-issues-in-buildscript-dependencies/1838/2 "2012-02-14T16:41:00Z")

</div>

What _exactly_ do you mean by “bundled”?

---

<div class="post-metadata">

**Author:** ![inversebit](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/inversebit/32/212_2.png) [@inversebit](https://discuss.gradle.org/u/inversebit)\
**Post date:** [February 14, 2012, 5:00pm UTC](https://discuss.gradle.org/t/help-resolving-classpath-issues-in-buildscript-dependencies/1838/3 "2012-02-14T17:00:00Z")

</div>

Yes that wasn’t very clear - YUI Compressor overrides some of the Rhino classes with customisations, using the same package name. It also has a dependency on Rhino 1.6R7, whilst lesscss4j requires 1.7R2.

---

<div class="post-metadata">

**Author:** ![Peter\_Niederwieser](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@Peter\_Niederwieser](https://discuss.gradle.org/u/Peter_Niederwieser)\
**Post date:** [February 14, 2012, 7:54pm UTC](https://discuss.gradle.org/t/help-resolving-classpath-issues-in-buildscript-dependencies/1838/4 "2012-02-14T19:54:00Z")

</div>

That’s some ugliness there, and to my knowledge Gradle doesn’t solve it out-of-the-box. You might have to code your own solution, e.g. declare two configurations, create a class loader for each of them, etc.

---

<div class="post-metadata">

**Author:** ![inversebit](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/inversebit/32/212_2.png) [@inversebit](https://discuss.gradle.org/u/inversebit)\
**Post date:** [February 14, 2012, 8:41pm UTC](https://discuss.gradle.org/t/help-resolving-classpath-issues-in-buildscript-dependencies/1838/5 "2012-02-14T20:41:00Z")

</div>

Ok thanks, it is pretty nasty and I think I’ll just save myself some grief and switch to Closure Compiler instead of YUI Compressor.
