Maven-properties-filtering-like для аннотаций Java?

В настоящее время я знаю, как сделать такую ​​фильтрацию с помощью Maven:

pom.xml


    bar

app.properties

foo=${foo}

Но возможно ли сделать такую ​​фильтрацию, используя Maven, Spring или любой другой инструмент?

MyClass.java

@MyAnnotation("${foo}")//${foo} should get replaced at compile time
public void getData() {
    return data;
}
6
nl ja de
Это означало бы, что для вашей аннотации должна быть политика хранения SOURCE для одного. И вы хотите исправить исходный код для загрузки? Удачи: p
добавлено автор fge, источник
вы можете использовать фильтрацию ресурсов maven в исходных файлах на фазе генерации источников - поместите ваши файлы * .java в какой-то неподходящий каталог (лучше не использовать/ресурсы) и на этом этапе скопируйте их в каталог сгенерированных источников
добавлено автор radai, источник

1 ответы

Пробовали ли вы использовать выполнение плагина ресурса. Насколько я знаю, вы можете указать его на свой источник Java и использовать его обычную фильтрацию.

http://maven.apache.org/plugins/maven-resources -plugin/примеры/filter.html

  
    chad
    //comment
  

  
    target/processed-source/java
    
        
            src/main/resources
            true
        

         
            src/main/java
            true
            ../processed-source/java
        
    

  

Итак, первое, что вы направляете обработанный источник java в специальную папку в целевой каталог. Затем вам нужно перенастроить плагин компилятора, чтобы НЕ компилировать нефильтрованный источник и вместо этого компилировать новый источник. Обратите внимание, что, как и все вещи maven, вы можете настроить намного больше, чем это.

Это полезно запись в блоге .

7
добавлено
Спасибо за ваш ответ, но я не могу заставить его работать, даже если я укажу атрибут Maven targetPath . На самом деле, я никогда не пробовал использовать * .java исходные файлы, есть ли у вас рабочий пример?
добавлено автор sp00m, источник
Удивительно, спасибо!
добавлено автор sp00m, источник
Он работает;) Я добавлю свою конфигурацию.
добавлено автор chad, источник
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Spring Framework and more
Spring Framework and more
839 участник(ов)

чат о spring framework и связанных с ним технологиях. We're discussing: job, tech questions, beer meet up/networking: tech review ,LinkedIn skills, SOF q/a raise up& etc. languages: russian,java,eng.

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async