JenkinsのスレーブでMaven3でビルドするとエラーになる

Caused by: java.lang.IllegalAccessError: class com.google.common.collect.AbstractMapBasedMultimap cannot access its superclass com.google.common.collect.AbstractMultimap
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:480)
    at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:322)

Jenkinsでビルドするときにこんなエラーが出ることがあります。

https://issues.jenkins-ci.org/browse/JENKINS-22252

http://ikeike443.hatenablog.com/entry/2014/10/13/213923

http://kokuzawa.github.io/blog/2014/05/24/jenkinsnishi-waserupom-dot-xmlfalseji-ben-she-ding/

あたりを参考にして、以下のように対処しました。

マスター

# find / -name "guava*.jar" -ls
1575434 1612 -rw-r--r--   1 jenkins  jenkins   1649781 11月 21 11:00 /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/guava-11.0.1.jar

スレーブ

# find / -name "guava*.jar" -ls
2762834 2140 -rwxr-xr-x   1 root     root      2189117  5月  7  2013 /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven3/lib/guava-14.0.1.jar
808539 2140 -rw-r--r--   1 root     root      2189111  4月 25  2013 ~/.m2/repository/com/google/guava/guava/14.0/guava-14.0.jar
1061323 1756 -rw-r--r--   1 root     root      1795936  4月 22  2013 ~/.m2/repository/com/google/guava/guava/12.0/guava-12.0.jar
273104  916 -rw-r--r--   1 root     root       936397  4月 10  2013 ~/.m2/repository/com/google/guava/guava/r06/guava-r06.jar

とりあえずスレーブにマスターと同じguava-11.0.1.jarを用意しておきます。

cd /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven3/lib/
wget http://central.maven.org/maven2/com/google/guava/guava/11.0.1/guava-11.0.1.jar
mkdir ~/.m2/repository/com/google/guava/guava/11.0.1/
cd ~/.m2/repository/com/google/guava/guava/11.0.1/
wget http://central.maven.org/maven2/com/google/guava/guava/11.0.1/guava-11.0.1.jar