Как использовать или злоупотреблять классификаторами артефактов в maven?

В настоящее время мы пытаемся перенести очень (очень) большой проект, созданный с помощью ant, на maven (при этом также переходим на svn). Изучаются все возможности для изменения структуры проекта, чтобы она лучше соответствовала парадигме maven.

Чтобы быть более конкретным, я столкнулся с классификаторами и хотел бы знать, как я могу использовать их в своих интересах, воздерживаясь от «антипаттернов классификаторов».

Благодарность

от: http://maven.apache.org/pom.html

классификатор: Иногда вы можете найти пятый элемент в координате , и это классификатор.Мы обратимся к классификатору позже, но пока достаточно знать, что проекты такого типа отображаются как groupId: artifactId: упаковка: classifier: version.

и

Классификатор позволяет различать артефакты, которые были созданы из одного и того же POM, но различаются по своему содержанию. Это некоторая необязательная и произвольная строка, которая, если она есть, добавляется к имени артефакта сразу после номера версии. В качестве мотивации для этого элемента рассмотрим, например, проект, который предлагает артефакт, ориентированный на JRE 1.5, но в то же время также артефакт, который все еще поддерживает JRE 1.4. Первый артефакт может быть оснащен классификатором jdk15, а второй - jdk14, чтобы клиенты могли выбирать, какой из них использовать.

Другой распространенный вариант использования классификаторов - это необходимость прикрепить вторичных артефактов к основному артефакту проекта. Если вы просмотрите центральный репозиторий Maven , вы заметите, что источники классификаторов и javadoc используются для развертывания исходного кода проекта и документации API вместе с упакованными файлами классов.

15
задан Yaneeve 8 November 2011 в 13:34
поделиться