Спасибо Шон, работает сейчас. Извините, package-info.json был опечаткой.

ользую Неизменные (http://immutables.org) в моем интерфейсе Java для создания конструкторов и неизменных объектов. Я создал пользовательскую аннотацию уровня метода под названием @Primary (которая указывает, какой атрибут является основным полем), которую я использовал для аннотирования одного из моих методов в интерфейсе Immutable. Я не вижу аннотации в сгенерированном классе Java, созданном неизменяемыми. Я попытался посмотреть на BYOA (Принеси свою аннотацию), но это не помогает.

Есть ли способ получить аннотацию @Primary на сгенерированный неизменяемый класс Java?

ОБНОВЛЕНИЕ (Основано на предложении Шона ниже)

Теперь у меня есть конфиг ниже, основанный на

package-info.java

package com.mypackage;


import com.mercuria.recon.custom.annotation.Primary;
import org.immutables.value.Value;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.PACKAGE, ElementType.TYPE})
@Retention(RetentionPolicy.CLASS) // Make it class retention for incremental   compilation
@Value.Style(passAnnotations=Primary.class)
public @interface MyStyle {}

Основная аннотация

package com.mypackage.custom.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Primary {

}

Я вижу ошибку в package-info.json, где говорится, что MyStyle должен быть объявлен в своем собственном файле. Я не уверен, что приведенный выше конфиг правильный. Подскажите, пожалуйста, где я иду не так?

Ответы на вопрос(1)

Ваш ответ на вопрос