auto-value-parcel: Java.lang.NoSuchMethodError: com.squareup.javapoet.TypeName.isBoxedPrimitive()Z

Hi,

I tried to update to the latest 0.2.2 and I have this error while compiling.

[...]GeevApp.java
Error:(12, 59) error: cannot find symbol class DaggerApplicationComponent
[...]GeevServiceModule.java
Error:(5, 38) error: package com.ryanharter.auto.value.gson does not exist
Warning:@AutoValue classes cannot have abstract methods other than property getters and Builder converters
:app:compileRetrolambdaDebug
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.NoSuchMethodError: com.squareup.javapoet.TypeName.isBoxedPrimitive()Z

I use those AutoValue versions:

// Autovalue 
    apt 'com.google.auto.value:auto-value:1.2'
    provided 'com.jakewharton.auto.value:auto-value-annotations:1.2-update1'
    apt 'com.ryanharter.auto.value:auto-value-parcel:0.2.2'
    apt 'com.ryanharter.auto.value:auto-value-gson:0.3.1'

Everything ok on 0.2.1

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 15 (5 by maintainers)

Most upvoted comments

Try adding apt 'com.squareup:javapoet:1.7.0' before dagger, otherwise the version bundled in dagger will be on the classpath.

Even apt 'com.squareup:javapoet:1.7.0' won’t fix it for me. Also I’m using Dagger 2.4.

apt
+--- com.google.dagger:dagger-compiler:2.4
|    +--- com.google.dagger:dagger:2.4
|    |    \--- javax.inject:javax.inject:1
|    +--- com.google.dagger:dagger-producers:2.4
|    |    +--- com.google.dagger:dagger:2.4 (*)
|    |    \--- com.google.guava:guava:19.0
|    \--- com.google.guava:guava:19.0
+--- com.squareup:javapoet:1.7.0
+--- com.vanniktech:onactivityresult-compiler:0.4.0
|    +--- com.vanniktech:onactivityresult-annotations:0.4.0
|    +--- com.google.auto.service:auto-service:1.0-rc2
|    |    +--- com.google.auto:auto-common:0.3 -> 0.6
|    |    |    \--- com.google.guava:guava:18.0 -> 19.0
|    |    \--- com.google.guava:guava:18.0 -> 19.0
|    \--- com.squareup:javapoet:1.5.1 -> 1.7.0
+--- com.google.auto.value:auto-value:1.2
+--- com.ryanharter.auto.value:auto-value-parcel:0.2.2
|    +--- com.ryanharter.auto.value:auto-value-parcel-adapter:0.2.2
|    +--- com.google.auto.value:auto-value:1.2
|    +--- com.google.auto:auto-common:0.6 (*)
|    +--- com.google.auto.service:auto-service:1.0-rc2 (*)
|    +--- org.apache.commons:commons-lang3:3.4
|    \--- com.squareup:javapoet:1.7.0
+--- com.google.android.gms:play-services-gcm:9.0.0
|    +--- com.google.android.gms:play-services-base:9.0.0
|    |    +--- com.google.android.gms:play-services-basement:9.0.0
|    |    |    \--- com.android.support:support-v4:23.0.0
+--- com.ryanharter.auto.value:auto-value-moshi:0.3.2
|    +--- com.google.auto.value:auto-value:1.2
|    +--- com.google.auto:auto-common:0.6 (*)
|    +--- com.squareup.moshi:moshi:1.0.0 -> 1.1.0
|    |    \--- com.squareup.okio:okio:1.6.0
|    +--- com.google.auto.service:auto-service:1.0-rc2 (*)
|    \--- com.squareup:javapoet:1.7.0
+--- com.jakewharton:butterknife-compiler:8.0.1
|    +--- io.reactivex:rxjava:1.1.3 -> 1.1.5
|    +--- com.google.auto:auto-common:0.6 (*)
|    +--- com.google.auto.service:auto-service:1.0-rc2 (*)
|    +--- com.jakewharton:butterknife-annotations:8.0.1
|    |    \--- com.android.support:support-annotations:23.3.0 -> 23.4.0
|    \--- com.squareup:javapoet:1.6.1 -> 1.7.0
+--- io.requery:requery-processor:1.0.0-beta18
|    +--- org.eclipse.persistence:javax.persistence:2.1.1
|    +--- io.requery:requery:1.0.0-beta18
|    \--- com.squareup:javapoet:1.7.0

EDIT:

apt with auto-value-parcel 0.2.1

+--- com.ryanharter.auto.value:auto-value-parcel:0.2.1
|    +--- com.squareup:javapoet:1.4.0 -> 1.7.0
|    +--- com.google.auto:auto-common:0.6 (*)
|    +--- com.google.auto.service:auto-service:1.0-rc2 (*)
|    +--- org.apache.commons:commons-lang3:3.4
|    +--- com.google.auto.value:auto-value:1.2-rc1 -> 1.2
|    \--- com.ryanharter.auto.value:auto-value-parcel-adapter:0.2.1

apt with auto-value-parcel 0.2.2

+--- com.ryanharter.auto.value:auto-value-parcel:0.2.2
|    +--- com.ryanharter.auto.value:auto-value-parcel-adapter:0.2.2
|    +--- com.google.auto.value:auto-value:1.2
|    +--- com.google.auto:auto-common:0.6 (*)
|    +--- com.google.auto.service:auto-service:1.0-rc2 (*)
|    +--- org.apache.commons:commons-lang3:3.4
|    \--- com.squareup:javapoet:1.7.0

I’m using Dagger 2.4,

Adding javapoet:1.7.0 solved the problem. Commenting it back, problem back.

Thanks 😃

Your version of JavaPoet is being resolved incorrectly on the apt classpath for reasons that I still can’t figure out.

Adding

apt 'com.squareup:javapoet:1.7.0'

first will fix this