title: How to solve exception "Interceptor has no bindings" in Infinispan JCache interceptors using Quarkus?
body: <p>When using Infinispan Embedded and Infinispan jCache in Quarkus is throwed :</p>
  
  <p>build step io.quarkus.arc.deployment.ArcAnnotationProcessor#build threw an exception: javax.enterprise.inject.spi.DefinitionException: Interceptor has no bindings: org.infinispan.jcache.annotation.CacheRemoveEntryInterceptor</p>
  
  <p>I tried to use hazelcast but with no success and the same problem.</p>
  
  <p>My pom.xml:</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0"?&gt;
  &lt;project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
  
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
      &lt;groupId&gt;com.foo&lt;/groupId&gt;
      &lt;artifactId&gt;bar&lt;/artifactId&gt;
      &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
      &lt;properties&gt;
          &lt;jersey-common.version&gt;2.22.2&lt;/jersey-common.version&gt;
          &lt;javac.version&gt;1.8.0-u20&lt;/javac.version&gt;
          &lt;surefire-plugin.version&gt;2.22.0&lt;/surefire-plugin.version&gt;
          &lt;quarkus.version&gt;0.14.0&lt;/quarkus.version&gt;
          &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt;
          &lt;maven.compiler.source&gt;1.8&lt;/maven.compiler.source&gt;
          &lt;lombok.version&gt;1.18.6&lt;/lombok.version&gt;
          &lt;maven.compiler.target&gt;1.8&lt;/maven.compiler.target&gt;
      &lt;/properties&gt;
      &lt;dependencyManagement&gt;
          &lt;dependencies&gt;
              &lt;dependency&gt;
                  &lt;groupId&gt;io.quarkus&lt;/groupId&gt;
                  &lt;artifactId&gt;quarkus-bom&lt;/artifactId&gt;
                  &lt;version&gt;${quarkus.version}&lt;/version&gt;
                  &lt;type&gt;pom&lt;/type&gt;
                  &lt;scope&gt;import&lt;/scope&gt;
              &lt;/dependency&gt;
          &lt;/dependencies&gt;
      &lt;/dependencyManagement&gt;
      &lt;dependencies&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;io.quarkus&lt;/groupId&gt;
              &lt;artifactId&gt;quarkus-resteasy&lt;/artifactId&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;io.quarkus&lt;/groupId&gt;
              &lt;artifactId&gt;quarkus-resteasy-jsonb&lt;/artifactId&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;io.quarkus&lt;/groupId&gt;
              &lt;artifactId&gt;quarkus-smallrye-rest-client&lt;/artifactId&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;io.quarkus&lt;/groupId&gt;
              &lt;artifactId&gt;quarkus-smallrye-openapi&lt;/artifactId&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;io.quarkus&lt;/groupId&gt;
              &lt;artifactId&gt;quarkus-smallrye-opentracing&lt;/artifactId&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;io.quarkus&lt;/groupId&gt;
              &lt;artifactId&gt;quarkus-junit5&lt;/artifactId&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;io.rest-assured&lt;/groupId&gt;
              &lt;artifactId&gt;rest-assured&lt;/artifactId&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;io.swagger&lt;/groupId&gt;
              &lt;artifactId&gt;swagger-annotations&lt;/artifactId&gt;
              &lt;version&gt;1.5.21&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.glassfish.jersey.core&lt;/groupId&gt;
              &lt;artifactId&gt;jersey-common&lt;/artifactId&gt;
              &lt;version&gt;${jersey-common.version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.projectlombok&lt;/groupId&gt;
              &lt;artifactId&gt;lombok&lt;/artifactId&gt;
              &lt;version&gt;${lombok.version}&lt;/version&gt;
              &lt;scope&gt;compile&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.google.errorprone&lt;/groupId&gt;
              &lt;artifactId&gt;javac&lt;/artifactId&gt;
              &lt;version&gt;${javac.version}&lt;/version&gt;
              &lt;scope&gt;compile&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;io.quarkus&lt;/groupId&gt;
              &lt;artifactId&gt;quarkus-smallrye-fault-tolerance&lt;/artifactId&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.infinispan&lt;/groupId&gt;
              &lt;artifactId&gt;infinispan-cdi-embedded&lt;/artifactId&gt;
              &lt;version&gt;9.4.9.Final&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.infinispan&lt;/groupId&gt;
              &lt;artifactId&gt;infinispan-jcache&lt;/artifactId&gt;
              &lt;version&gt;9.4.9.Final&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;javax.cache&lt;/groupId&gt;
              &lt;artifactId&gt;cache-api&lt;/artifactId&gt;
              &lt;version&gt;1.0.0&lt;/version&gt;
          &lt;/dependency&gt;
  
  
      &lt;/dependencies&gt;
      &lt;build&gt;
          &lt;plugins&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;io.quarkus&lt;/groupId&gt;
                  &lt;artifactId&gt;quarkus-maven-plugin&lt;/artifactId&gt;
                  &lt;version&gt;${quarkus.version}&lt;/version&gt;
                  &lt;executions&gt;
                      &lt;execution&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;build&lt;/goal&gt;
                          &lt;/goals&gt;
                      &lt;/execution&gt;
                  &lt;/executions&gt;
                  &lt;configuration&gt;
                      &lt;uberJar&gt;true&lt;/uberJar&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
                  &lt;version&gt;${surefire-plugin.version}&lt;/version&gt;
                  &lt;configuration&gt;
                      &lt;systemProperties&gt;
                          &lt;java.util.logging.manager&gt;org.jboss.logmanager.LogManager&lt;/java.util.logging.manager&gt;
                      &lt;/systemProperties&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
          &lt;/plugins&gt;
      &lt;/build&gt;
      &lt;profiles&gt;
          &lt;profile&gt;
              &lt;id&gt;native&lt;/id&gt;
              &lt;activation&gt;
                  &lt;property&gt;
                      &lt;name&gt;native&lt;/name&gt;
                  &lt;/property&gt;
              &lt;/activation&gt;
              &lt;build&gt;
                  &lt;plugins&gt;
                      &lt;plugin&gt;
                          &lt;groupId&gt;io.quarkus&lt;/groupId&gt;
                          &lt;artifactId&gt;quarkus-maven-plugin&lt;/artifactId&gt;
                          &lt;version&gt;${quarkus.version}&lt;/version&gt;
                          &lt;executions&gt;
                              &lt;execution&gt;
                                  &lt;goals&gt;
                                      &lt;goal&gt;native-image&lt;/goal&gt;
                                  &lt;/goals&gt;
                                  &lt;configuration&gt;
                                      &lt;enableHttpUrlHandler&gt;true&lt;/enableHttpUrlHandler&gt;
                                  &lt;/configuration&gt;
                              &lt;/execution&gt;
                          &lt;/executions&gt;
                      &lt;/plugin&gt;
                      &lt;plugin&gt;
                          &lt;artifactId&gt;maven-failsafe-plugin&lt;/artifactId&gt;
                          &lt;version&gt;${surefire-plugin.version}&lt;/version&gt;
                          &lt;executions&gt;
                              &lt;execution&gt;
                                  &lt;goals&gt;
                                      &lt;goal&gt;integration-test&lt;/goal&gt;
                                      &lt;goal&gt;verify&lt;/goal&gt;
                                  &lt;/goals&gt;
                                  &lt;configuration&gt;
                                      &lt;systemProperties&gt;
                                          &lt;native.image.path&gt;${project.build.directory}/${project.build.finalName}-runner&lt;/native.image.path&gt;
                                      &lt;/systemProperties&gt;
                                  &lt;/configuration&gt;
                              &lt;/execution&gt;
                          &lt;/executions&gt;
                      &lt;/plugin&gt;
                  &lt;/plugins&gt;
              &lt;/build&gt;
          &lt;/profile&gt;
      &lt;/profiles&gt;
  &lt;/project&gt;
  </code></pre>
  
  <p>My service.java</p>
  
  <pre class="lang-java prettyprint-override"><code>@ApplicationScoped
  public class Service  {
  
      @CacheResult
      public String getString(final String key) {
  
          return new String(key + " - " + System.currentTimeMillis());
      }
  }
  </code></pre>
  
  <p>And when I try to start Quarkus with</p>
  
  <pre><code>./mvnw compile quarkus:dev
  </code></pre>
  
  <p>Occours this Exception:</p>
  
  <pre><code>[INFO] Scanning for projects...
  [INFO] 
  [INFO] ----------------------------&lt; com.foo:bar &gt;----------------------------
  [INFO] Building bar 1.0-SNAPSHOT
  [INFO] --------------------------------[ jar ]---------------------------------
  [INFO] 
  [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ bar ---
  [INFO] Using 'UTF-8' encoding to copy filtered resources.
  [INFO] Copying 3 resources
  [INFO] 
  [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ bar ---
  [INFO] Changes detected - recompiling the module!
  [INFO] Compiling 23 source files to /home/user/git/foo-bar/foo-bar-q/target/classes
  [INFO] 
  [INFO] --- quarkus-maven-plugin:0.14.0:dev (default-cli) @ bar ---
  Listening for transport dt_socket at address: 5005
  23:40:46,376 INFO  [io.qua.dep.QuarkusAugmentor] Beginning quarkus augmentation
  23:40:46,627 INFO  [org.jbo.threads] JBoss Threads version 3.0.0.Alpha4
  23:40:47,094 ERROR [io.qua.dev.DevModeMain] Failed to start quarkus: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
      [error]: Build step io.quarkus.arc.deployment.ArcAnnotationProcessor#build threw an exception: javax.enterprise.inject.spi.DefinitionException: Interceptor has no bindings: org.infinispan.jcache.annotation.CacheRemoveEntryInterceptor
      at io.quarkus.runner.RuntimeRunner.run(RuntimeRunner.java:137)
      at io.quarkus.dev.DevModeMain.doStart(DevModeMain.java:131)
      at io.quarkus.dev.DevModeMain.main(DevModeMain.java:84)
  Caused by: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
      [error]: Build step io.quarkus.arc.deployment.ArcAnnotationProcessor#build threw an exception: javax.enterprise.inject.spi.DefinitionException: Interceptor has no bindings: org.infinispan.jcache.annotation.CacheRemoveEntryInterceptor
      at io.quarkus.builder.Execution.run(Execution.java:124)
      at io.quarkus.builder.BuildExecutionBuilder.execute(BuildExecutionBuilder.java:137)
      at io.quarkus.deployment.QuarkusAugmentor.run(QuarkusAugmentor.java:108)
      at io.quarkus.runner.RuntimeRunner.run(RuntimeRunner.java:102)
      ... 2 more
  Caused by: javax.enterprise.inject.spi.DefinitionException: Interceptor has no bindings: org.infinispan.jcache.annotation.CacheRemoveEntryInterceptor
      at io.quarkus.arc.processor.Interceptors.createInterceptor(Interceptors.java:47)
      at io.quarkus.arc.processor.BeanDeployment.findInterceptors(BeanDeployment.java:719)
      at io.quarkus.arc.processor.BeanDeployment.&lt;init&gt;(BeanDeployment.java:133)
      at io.quarkus.arc.processor.BeanProcessor.process(BeanProcessor.java:150)
      at io.quarkus.arc.deployment.ArcAnnotationProcessor.build(ArcAnnotationProcessor.java:259)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at io.quarkus.deployment.ExtensionLoader$1.execute(ExtensionLoader.java:507)
      at io.quarkus.builder.BuildContext.run(BuildContext.java:414)
      at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1998)
      at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1525)
      at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1416)
      at java.lang.Thread.run(Thread.java:748)
      at org.jboss.threads.JBossThread.run(JBossThread.java:479)
  </code></pre>