В настоящее время мы пытаемся перенести очень (очень) большой проект, созданный с помощью 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 вместе с упакованными файлами классов.