использование @Profile в java spring для отключения некоторых функций

Мое требование: когда я создаю проект с профилем «dev» (mvn clean install -Pdev), мне нужно отключить некоторые функции. если профиль не «dev», то нет необходимости удалять эти функции. это мой корень pom.xml,

<profile>
        <id>dev</id>
        <modules>
            <module>../cmn/module1</module>
            <module>../cmn/module2</module>
            <module>../cmn/module3</module>
        </modules>
    </profile>

мне нужно отключить некоторые функции в модуле 3 (у него есть отдельный pom.xml). и я вставляю сюда пример функции, которую необходимо отключить, когда профиль «dev»,

@Configuration
public class Sample{
}

Я узнал, что @Profile — это правильная аннотация для отключения некоторых функций, а затем я изменил класс на что-то вроде приведенного ниже:

@Configuration
@Profile("!dev")
public class Sample{
}

'!dev' означает, что эта функция отключена для профиля 'dev', кроме 'dev', она должна быть включена. но с @Profile(!dev) эта функция не отключена. Я построил проект с помощью «mvn clean install -Pdev». еще в проекте есть функция Sample.

Что со мной не так? как я могу отключить функцию Sample, когда мой проект построен с профилем «dev»?

Заранее спасибо...


person prakash kandhasamy    schedule 03.02.2021    source источник