2015-08-02 5 views
0

Этот вопрос, вероятно, был задан раньше, но это довольно сложно для Google.Почему существует синтаксис свойств «at character» (@) для свойств?

Я видел этот синтаксис в pom.xml файлов:

<version>@[email protected]</version> 

Спаренные @ символы кажутся еще один способ обратиться к свойствам, но он не упоминается в Maven documentation for properties. Почему это синтаксис, если мы можем ссылаться на свойства с ${property}? Или, может быть, это для чего-то еще?

ответ

1

Возможные разделители свойств определяются maven-resources-plugin (точнее, maven shared filtering module).

Используя эту конфигурацию <delimiters>, вы можете изменить (добавив или заменив) разделители, чтобы соответствовать любому синтаксису, который вам нужен для поддержки.

Так вот, откуда он исходит из технической точки зрения, и не мог найти текст, в котором говорится, почему он используется, но, я думаю, это удобно в случае, если у вас две системы, работающие над одними и теми же файлами (Maven и некоторые пре- или пост-сборку), или работа с некоторой старой системой, работающей с @ в качестве разделителя.

Конец, добавляющий использование @, исходит из первоначальной фиксации, собирающей различные способы управления фильтрацией в общем компоненте. В проблеме JIRA, ссылающейся на эту фиксацию: MSHARED-46, имеется лишь небольшая документация об общем намерении, есть ссылка на Codehaus doc, полученную благодаря Internet Wayback Machine, поскольку Codehaus сейчас отсутствует.

+0

Я не думаю, что фиксация добавила его, потому что уже был код, который выбрал '@ * @' вверх [здесь] (https://github.com/apache/maven-shared/commit/4f452b8709e3fd4194c5084eab62ad042454c1fb#diff- c779cee6cd833f7560b2253c0a48b3d3L252), гораздо более программным способом, чем декларативный. Похоже, что этот код был добавлен с помощью [подтверждения конвертации SVN] (https://github.com/apache/maven-shared/commit/6a5796fe6372e06e685d96533c99d1e4c0181c76), но также без документации. –

+0

О, вы правы, это происходит от первого коммита из песочницы. Однако репозиторий SVN может предоставить больше информации об исходном местоположении. – Tome

Смежные вопросы