Это правило отмечает значения @Target, отличные от ElementType.TYPE, в пользовательских аннотациях, отвечающих следующим условиям:
@InterceptorBinding.@Interceptor.К аннотациям перехватчика жизненного цикла относится следующее:
Приведенный ниже пример не соответствует спецификации Contexts and Dependency Injection (CDI) 1.2 в Java EE 7, однако считается допустимым в реализации CDI 1.0, основанной на реализации Apache OpenWebBeans. В CDI 1.2, где за основу взята реализация Weld, такое приложение не сможет запуститься.
@InterceptorBinding
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD}) public @interface MyIInterceptorBinding { }
@Interceptor
@MyIInterceptorBinding public class MyIInterceptor {
@PostActivate
void postActivate (InvocationContext inv)
@PreDestroy
void preDestroy (InvocationContext inv)
}
Для устранения неполадки удалите ElementType.METHOD из аннотации @Target, а также удалите все ссылки на аннотацию в методах приложения.
Если заданы какие-либо типы элементов, кроме ElementType.TYPE, то их также необходимо удалить.
Для получения дополнительной информации о реализации CDI 1.2 в Java EE 7 обратитесь к документу Contexts and Dependency Injection 1.2: изменение принципов работы.