Estou começando a utilizar o Maven. Baixei o plugin para o eclipse, criei projetos de teste, tudo ok.
Porém quero criar meu próprio archetype com a minha estrutura de diretórios e copiar alguns arquivos para alguns diretórios na criação do projeto.
Entrei no link indicado e vi uma lista de archetypes de exemplo. Baixei e examinei o arquivo .jar e vi que ele tem uma estrutura padrão.
Então eu tenho que criar um arquivo jar conforme os exemplos? Tem como eu disponibilizar o meu archetype no eclipse para criação de projetos?
Então, a criação do archetype é basicamente uma estrutura inicial empacotada em um jar com um descritor (archetype.xml).
Não sei o quanto complicado é disponibilizar um archetype em uma central, muito provavelmente você precisará de aguma aprovação. Mas você pode instalar um gerênciador de artefatos maven (ex. Artifactory) na sua rede e disponibilizar seus archetypes nele.
Instalei o Artifactory como o colega Pozzo e pelo que entendi ele funciona como um proxy e serve para colocarmos os jar’s das bibliotecas e criarmos um repositório local.
Com relação aos archetypes, não consegui colocar nele.
Vi no link http://books.sonatype.com/maven-book/reference/archetypes.html#d0e24937 uma forma de criar um catálogo local para disponibilizar os meus archetypes. Criei o catálogo, configurei ele no Eclipse, quando vou criar um novo projeto Maven ele mostra os archetypes que estão configurados nesse arauivo, porém ao finalizar o wizard de criação ele dá um erro, como se não encontrou o archetype.
Bom, esta thread eh velhinha, mas está bem posicionada no google então vou dar minha contribuição para quem possa precisar:
Precisei criar um archetype com base para uma determinada arquitetura definida pelo cliente então, depois de dar uma vasculhada na internet consegui da seguinte maneira:
[list]Para facilitar, crie um projeto a partir de um archetype mais basico, escolhi o maven-archetype-webapp:[/list]
[list]Faça as alterações necessárias ao projeto criado, como adicionar dependências no pom.xml[/list]
[list]Altere o groupId, artifactId, version e name do pom.xml[/list]
[list]Depois que o projeto esteja configurado, remova os arquivos não desejados (como arquivos de controle do Eclipse) e execute na pasta do projeto:[/list]
[list]mova a pasta tutorialMaven\target\generated-sources\archetype para uma pasta de trabalho e execute o proximo comando dentro da pasta archetype:[/list]
[list]Este comando irá instalar o archetype criado no seu repositório local, para adiciona-lo no repositorio de sua empresa, use o deploy no lugar de install[/list]
[list]Finalmente, execute o comando abaixo para verificar se o archetype foi instalado em seu repositorio local:[/list]
Primeiro adicione o archetype como um artefato normal no Archiva, depois coloque o arquivo “archetype-catalog.xml” gerado pelo maven e adicione a pasta \apps\archiva do archiva.
Parece que isso ainda é uma limitação do Archiva, por isso deve ser feito esta etapa manualmente.