Ответ 1
почему бы не использовать сам сайт maven?
http://maven.apache.org/guides/mini/guide-creating-archetypes.html
Я ищу руководство по созданию новых архетипов maven, которые включают в себя использование параметров для создания каталогов и имен файлов, где параметры используются в качестве префиксов в именах файлов и части структуры/каталогов пакетов, которые создаются архетип.
Все, что я могу найти, это очень простые инструкции о том, как создавать очень простые проекты.
почему бы не использовать сам сайт maven?
http://maven.apache.org/guides/mini/guide-creating-archetypes.html
Я думаю, что нашел сайт, который помогает мне немного больше, когда я понял, что шаблоны Velocity используются как часть процессов архетипа.
Я думаю, что мы столкнулись с одной и той же проблемой, наконец, я разрешил ее с разъяснением этой статьи
Предполагая, что вы хотите сгенерировать пакет com.company.base. dal.dao, мы называем com.company.base корневым пакетом, dal.dao является основным пакетом, тогда просто поместите свой шаблонный файл java в src/main/java/dal/dao и настройте packaged="true"
в META-INF/maven/archetype-metadata.xml, как показано ниже
<fileSet filtered="true" packaged="true" encoding="GBK"><!--packaged="true" tells maven to copy the core package in to root package while creating a project.-->
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</fileSet>
скажем, если вы установите -Dpackage=com.alibaba.china
после выполнения mvn archetype: generate, он создаст исходный пакет java в качестве com/alibaba/china/dal/dao/sample.java
как указать информацию о пакете префикса в sample.java, просто используйте ${package}, как показано ниже
package ${package}.dal.dao;
плагин archetype заменит ${package} на -Dpackage как шаблон скорости
Даже я ищу то же самое. Даже я считаю, что главная страница Maven очень проста и не соответствует нашему требованию.
Я даже попробовал HowToCreateMavenArchetypeFromProject Но у меня все еще есть один вопрос. Как вызвать конкретный файл архетипа, когда генерируется проект этого типа архетипа. Чтобы быть конкретным, если у меня есть класс java класса App.java, как вызвать его при создании проекта?
Что происходит с create-archetype-from-project, он создает проект с теми же файлами и структурой каталогов, и нам нужно снова запустить это, чтобы получить это в действии.
Кроме того, ${groupId} и такие вещи работают только в файлах maven. Что делать, если у меня есть файл свойств и вы хотите использовать artifactId, введенный пользователем?
Дайте мне знать, если вы встретите любой хороший материал. Между тем, я также дам вам знать, когда найду какое-либо решение.
Спасибо
из maven documentacion: http://maven.apache.org/archetype/archetype-models/archetype-descriptor/archetype-descriptor.html
Набор файлов определяет способ, которым файлы проекта, расположенные в файле jar, используются плагином Archetype для генерации проекта. Если имя файла или каталога содержит шаблон свойство, оно заменяется соответствующим значением свойства.
если вы можете назвать файл как
__ артефакта ___ local.properties
... когда вы создаете proyect с помощью artifactId = foo, он будет содержать этот файл:
foo_local.properties
вот краткое описание, но очень полезно http://javajeedevelopment.blogspot.fr/2012/05/how-to-create-maven-archetype.html