Я отлаживаю свое приложение, используя Apache и IntelliJ, чем если я изменю что-либо в файле свойств и использую операцию IntelliJ для приложения Update (ресурсы и классы, горячая замена, обновление в режиме реального времени, когда приложение все еще выполняется в режиме отладки),
Свойство maven, которое я генерирую во время сборки, становится неопределенным:
раздел свойств pom.xml со свойством non-Issue:
<properties>
<my.version>${project.version}-${project.artifact}</my.version>
</properties>
Свойство pom.xml, которое создается во время сборки maven и после обновления, имеет проблему:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>verify</phase>
<id>regex-property</id>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>my.version2</name>
<value>${my.version}</value>
<regex>(\d{2})(\d+)\.(\d+)\.(\d+)\-(\d+|\w+)</regex>
<replacement>A$1.$3.$4-$5</replacement>
</configuration>
</execution>
</executions>
</plugin>
Оба свойства используются в моем файле application.properties:
my.version=${my.version}
my.version2=${my.version2}
Мои вопросы:
Что может привести к тому, что $ {my.version2} может быть неопределенным после операции обновления приложения?
Есть ли еще один хороший способ создать свойство, используя другое свойство, отформатированное и готовое для использования в application.properties?
UPDATE:
1. Кажется, что IntelliJ обновляет ресурсы и использует только те свойства, которые не были сгенерированы во время сборки maven, поэтому он собирает их все из pom и удаляет сгенерированный $ {my.version2}.