English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O Maven usa archetype (原型) para criar uma estrutura de projeto personalizada, formando um modelo de projeto Maven.
Nos capítulos anteriores, aprendemos que o Maven usa a seguinte comando para criar projetos java rapidamente:
mvn archetype:generate
O archetype, ou原型,é um plugin Maven, exatamente um modelo de projeto, cuja tarefa é criar uma estrutura de projeto com base no modelo. Vamos usar o plugin archetype quickstart para criar uma aplicação java simples.
Vamos abrir o console de comando, mover para o diretório C:\> MVN e executar o seguinte comando mvn:
C:\MVN> mvn archetype:generate
O Maven começará a processar e exigirá a seleção do archetype desejado:
[INFO] Escaneando por projetos... [INFO] Pesquisando repositório para plugin com prefixo: 'archetype'. [INFO] ------------------------------------------------------------------- [INFO] Construção do Projeto Maven Padrão [INFO] tarefa-segmento: [archetype:generate] (agregador-estilo) [INFO] ------------------------------------------------------------------- [INFO] Preparando archetype:generate ... 600: remoto -> org.trailsframework:trails-protótipo (-) 601: remote -> org.trailsframework:trails-seguro-protótipo (-) 602: remote -> org.tynamo:tynamo-protótipo (-) 603: remote -> org.wicketstuff.scala:wicket-scala-protótipo (-) 604: remote -> org.wicketstuff.scala:wicketstuff-scala-arquitetura Configuração básica para um projeto que combina Scala e Wicket dependendo do Wicket-Projeto Scala. Inclui um exemplo de teste Specs.) 605: remote -> org.wikbook:wikbook.archetype (-) 606: remote -> org.xaloon.archetype:xaloon-arquitetura-wicket-jpa-glassfish (-) 607: remote -> org.xaloon.archetype:xaloon-arquitetura-wicket-jpa-spring (-) 608: remote -> org.xwiki.commons:xwiki-commons-componente-arquitetura (Torna fácil criar um projeto Maven para criar Componentes do XWiki.) 609: remote -> org.xwiki.rendering:xwiki-renderização-arquitetura-macro (Torna fácil criar um projeto Maven para criar Macros de Renderização do XWiki.) 610: remote -> org.zkoss:zk-arquitetura-componente (O protótipo ZK Component) 611: remote -> org.zkoss:zk-arquitetura-webapp (O protótipo ZK wepapp) 612: remote -> ru.circumflex:circumflex-protótipo (-) 613: remote -> se.vgregion.javg.maven.archetypes:javg-mínimo-protótipo (-) 614: remote -> sk.seges.sesam:sesam-anotação-protótipo (-) Escolha um número ou aplique um filtro (formato: [groupId:]artifactId, sensível a maiúsculas e minúsculas): 203:
Pressione Enter Escolha a opção padrão (203:maven-arquitetura-quickstart).
Escolha org.apache.maven.archetypes:maven-arquitetura-versão quickstart: 1: 1.0-alpha-1 2: 1.0-alpha-2 3: 1.0-alpha-3 4: 1.0-alpha-4 5: 1.0 6: 1.1 Escolha um número: 6:
Pressione Enter Escolha a opção padrão (6:maven-arquitetura-quickstart:1.1)
O Maven perguntará detalhes do projeto. Digite os detalhes do projeto conforme solicitado. Se desejar usar os valores padrão, pressione Enter. Você também pode inserir seus próprios valores.
Defina o valor para a propriedade 'groupId': : com.companyname.insurance Defina o valor para a propriedade 'artifactId': : health Defina o valor para a propriedade 'version': 1.0-SNAPSHOT Defina o valor para a propriedade 'package': com.companyname.insurance
O Maven solicitará a confirmação dos detalhes do projeto, pressione}} Enter ou pressione Y
Confirme a configuração das propriedades: groupId: com.companyname.insurance artifactId: health version: 1.0-SNAPSHOT package: com.companyname.insurance Y:
Agora o Maven começará a criar a estrutura do projeto, conforme mostrado a seguir:
[INFO] ----------------------------------------------------------------------- [INFO] Usando os seguintes parâmetros para criar o projeto a partir do Antigo (1.x) Arquétipo: maven-arquitetura-quickstart:1.1 [INFO] ----------------------------------------------------------------------- [INFO] Parâmetro: groupId, Valor: com.companyname.insurance [INFO] Parâmetro: packageName, Valor: com.companyname.insurance [INFO] Parâmetro: package, Valor: com.companyname.insurance [INFO] Parâmetro: artifactId, Valor: health [INFO] Parâmetro: basedir, Valor: C:\MVN [INFO] Parâmetro: versão, Valor: 1.0-SNAPSHOT [INFO] Projeto criado a partir do Antigo (1.x) Arquétipo em dir: C:\MVN\health [INFO] ----------------------------------------------------------------------- [INFO] CONSTRUÇÃO SUCESSO [INFO] ----------------------------------------------------------------------- [INFO] Tempo Total: 4 minutos 12 segundos [INFO] Concluído em: Sex Jul 13 11:10:12 IST 2012 [INFO] Memória Final: 20M/90M [INFO] -----------------------------------------------------------------------
Agora, mude para o diretório C:\ > MVN. Você verá um projeto de aplicação Java chamado health, como o nome do artifactId foi estabelecido no momento da criação do projeto. O Maven criará um projeto com layout de diretórios padrão, conforme mostrado a seguir:
O Maven gerará automaticamente um arquivo pom.xml para o projeto, conforme mostrado a seguir:
<project xmlns="http:<///maven.apache.org/POM/4.0.0" xmlns:xsi="http:<///www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http:<///maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0/modelVersion> <groupId>com.companyname.insurance<//groupId> <artifactId>health<//artifactId> <version>1.0-SNAPSHOT/version> <packaging>jar<//packaging> <name>health<//name> <url>http:<///maven.apache.org<//url> <properties> <project.build.sourceEncoding>UTF</-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit<//groupId> <artifactId>junit<//artifactId> <version>3.8.1</version> <scope>test<//scope> </dependency> </dependencies> </project>
O Maven gerará automaticamente um arquivo java de teste chamado App.java.
Caminho:C:\MVN\consumerBanking\src\main\java\com\companyname\bank
package com.companyname.insurance; /** * Hello world! * */ public class App { public static void main(String[] args) { System.out.println("Hello World!"); } }
O Maven gerará automaticamente um arquivo java AppTest.java.
O caminho é: C:\MVN\consumerBanking\src\test\java\com\companyname\bank
package com.companyname.insurance; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; /** * Teste Unitário para uma Simples App. */ public class AppTest extends TestCase { /** * Crie o caso de teste * * @param testName nome do caso de teste */ public AppTest(String testName) { super(testName); } /** * @return a suite de testes sendo testada */ public static Test suite() { return new TestSuite(AppTest.class); } /** * Teste Rigoroso:-) */ public void testApp() { assertTrue( true ); } }
Assim. Agora você pode ver a força do Maven. Você pode usar comandos simples do maven para criar qualquer tipo de projeto e pode começar seu desenvolvimento.