# IllegalArgumentException after upgrading to PMD 5.2.0

**URL:** <https://discuss.gradle.org/t/illegalargumentexception-after-upgrading-to-pmd-5-2-0/2283>\
**Category:** Old Forum Archive\
**Created:** [October 22, 2014, 8:24am UTC](https://discuss.gradle.org/t/illegalargumentexception-after-upgrading-to-pmd-5-2-0/2283 "2014-10-22T08:24:00Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![neu242](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/neu242/32/5722_2.png) [@neu242](https://discuss.gradle.org/u/neu242)\
**Post date:** [October 22, 2014, 8:24am UTC](https://discuss.gradle.org/t/illegalargumentexception-after-upgrading-to-pmd-5-2-0/2283/1 "2014-10-22T08:24:00Z")

</div>

I upgraded to 5.2.0, and now I get “java.lang.IllegalArgumentException: Unknown Language ‘java’ for Rule JumbledIncrementer, supported Languages are” [empty].

Here’s my config:

apply plugin: ‘pmd’

dependencies {

pmd(

‘net.sourceforge.pmd:pmd-core:5.2.0’,

‘net.sourceforge.pmd:pmd-java:5.2.0’

)

}

---

<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:** [October 22, 2014, 10:24pm UTC](https://discuss.gradle.org/t/illegalargumentexception-after-upgrading-to-pmd-5-2-0/2283/2 "2014-10-22T22:24:00Z")

</div>

Do you explicitly configure any PMD rulesets? Also, can you try ‘pmd.toolVersion = “5.2.0”’ instead of explicitly declaring PMD dependencies?

---

<div class="post-metadata">

**Author:** ![neu242](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/neu242/32/5722_2.png) [@neu242](https://discuss.gradle.org/u/neu242)\
**Post date:** [October 23, 2014, 6:00am UTC](https://discuss.gradle.org/t/illegalargumentexception-after-upgrading-to-pmd-5-2-0/2283/3 "2014-10-23T06:00:00Z")

</div>

With …

apply plugin: ‘pmd’

pmd.toolVersion = ‘5.2.0’

… I get “java.lang.ClassNotFoundException: net.sourceforge.pmd.ant.PMDTask”

Here’s our ruleset: [http://pastebin.com/8GbJXJ1i](http://pastebin.com/8GbJXJ1i)

---

<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:** [October 23, 2014, 12:33pm UTC](https://discuss.gradle.org/t/illegalargumentexception-after-upgrading-to-pmd-5-2-0/2283/4 "2014-10-23T12:33:00Z")

</div>

PMD 5 renamed the ‘java’ ruleset to ‘java-basic’. Perhaps ‘java’ is no longer supported as of 5.2.0, and you have to update the references in your ruleset file. The CNFE indicates that there is some work for us to do to be compatible with 5.2.0. I’ve raised GRADLE-3186 for this. Thanks for the report.

---

<div class="post-metadata">

**Author:** ![neu242](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/neu242/32/5722_2.png) [@neu242](https://discuss.gradle.org/u/neu242)\
**Post date:** [October 23, 2014, 12:39pm UTC](https://discuss.gradle.org/t/illegalargumentexception-after-upgrading-to-pmd-5-2-0/2283/5 "2014-10-23T12:39:00Z")

</div>

Thanks for looking at this. I don’t declare the JumbledIncrementer ruleset myself, so I don’t think updating my references will help.

---

<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:** [October 23, 2014, 12:43pm UTC](https://discuss.gradle.org/t/illegalargumentexception-after-upgrading-to-pmd-5-2-0/2283/6 "2014-10-23T12:43:00Z")

</div>

At first sight, I don’t think that the IllegalArgumentException is something that can be fixed on Gradle’s side. However, at this point this is just a guess.

---

<div class="post-metadata">

**Author:** ![neu242](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/neu242/32/5722_2.png) [@neu242](https://discuss.gradle.org/u/neu242)\
**Post date:** [November 14, 2014, 8:38am UTC](https://discuss.gradle.org/t/illegalargumentexception-after-upgrading-to-pmd-5-2-0/2283/7 "2014-11-14T08:38:00Z")

</div>

This has now been fixed in PMD 5.2.1

But pmd.toolVersion = ‘5.2.1’ doesn’t work, I still have to declare the dependency as described above.

---

<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:** [November 14, 2014, 5:03pm UTC](https://discuss.gradle.org/t/illegalargumentexception-after-upgrading-to-pmd-5-2-0/2283/8 "2014-11-14T17:03:00Z")

</div>

‘pmd.toolVersion = ‘5.2.1’’ will add the all-in-one ‘net.sourceforge.pmd:pmd:5.2.1’ rather than ‘-core’ and ‘-java’, and it looks like the bug wasn’t fixed for that distribution.
