Я пытался найти документацию о том, почему это происходит, но не могу найти ничего, что отвечает этому поведению.Любые полезные ссылки на документацию или объяснения будут высоко ценится.
Это не задокументировано в разделе фильтрации плагина сборки Maven, но похоже, что он использует те же разделители по умолчанию, что и плагин Maven Resources , которыйявляются:
<build>
...
<plugin>
...
<configuration>
...
<delimiters>
<delimiter>${*}</delimiter>
<delimiter>@</delimiter>
</delimiters>
Таким образом, будет отфильтровано также следующее:
env.name=@replacement.value@
И это также объясняет, почему один @
в адресе электронной почты вызывает проблемы (плагин никогданаходит конечный разделитель).
Можно настроить разделители и escape-строку так же, как и при использовании плагина Maven Resources .В документации Maven Assembly Plugin для единственной цели содержатся подробности.
Дешевый обходной путь для этой конкретной ситуации с адресом электронной почты состоит в том, чтобы избежать использования одного @
в файле дляфильтр:
##############################
# author.name aT company.com #
##############################
env.name=${replacement.value}
А в качестве преимущества вы избежите спама:)