Empacote o projeto em um Arquétipo Maven (estrutura de projeto de módulo único)

tutorial oficial

1 Crie um projeto, módulo único, a estrutura do projeto é a seguinte

insira a descrição da imagem aqui

工程规范: o groupId do projeto deve ser consistente com o nome do pacote de nível superior.

Caso contrário, o modelo criado precisa ser modificado manualmente em vários lugares e, se for consistente, pode ser substituído diretamente ${groupId}.
insira a descrição da imagem aqui

2 pom.xml adicionar plug-in maven-archetype-plugin

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-archetype-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
            	<propertyFile>archetype.properties</propertyFile>
            </configuration>
        </plugin>
    </plugins>
</build>

3 Adicione a variável de ambiente Maven MAVEN_OPTS

-Xms256m -Xmx512m -Dfile.encoding=UTF-8

4 Adicionadas archetype.properties

Quando usamos o plug-in maven-archetype-plugin para gerar um projeto de modelo de arquétipo com base no projeto atual, o plug-in empacotará todos os arquivos do projeto atual no pacote jar por padrão.

Na verdade, esperamos filtrar alguns diretórios de arquivos não essenciais durante a compilação, como o diretório .idea, README.md, etc. Neste momento, precisamos apenas configurar um parâmetro de arquivo durante a compilação e definir atributos nele para filtrar archetype.propertiesarquivos excludePatternou índice.

excludePatternsOs parâmetros podem especificar várias condições de filtro, separadas por vírgulas.

Porém, vale ressaltar que se você quiser filtrar o diretório inteiro, como .ideao diretório, .idea/*você precisa configurar assim: ao invés de apenas preencher a ideia, essa .gitignoreconfiguração ainda é diferente.

# 打包过滤文件
excludePatterns=.idea/*,.git,*.iml,.idea/

5 Adicione .gitignore

Renomeie .gitignore-o para __gitignore__e archetype.propertiesadicione o seguinte a

gitignore=.gitignore

6 Construir arquétipos

Entre no diretório do projeto e execute o seguinte comando

mvn archetype:create-from-project --settings D:\DevelopTools\apache-maven-3.6.3\conf\settings.xml

Após a conclusão da compilação, você verá esse arquétipo no alvo

insira a descrição da imagem aqui

7 Instale o arquétipo no armazém local

Entre no diretório onde está localizado o Arquétipo criado:target\generated-sources\archetype

execute o seguinte comando

mvn install

8 Usando um arquétipo personalizado

Digite um novo diretório e execute o seguinte comando

mvn archetype:generate -DarchetypeCatalog=local

Escolha 3 aqui, que é o arquétipo recém gerado

insira a descrição da imagem aqui

Preencha um por um groupId ,artifactId,version,package, pressione Enter e digite Y para criar um novo projeto

insira a descrição da imagem aqui

Criada

insira a descrição da imagem aqui

9 Abra o projeto e verifique

O novo projeto é igual ao projeto original

insira a descrição da imagem aqui

Agora comece e verifique

insira a descrição da imagem aqui

Enter http://localhost:8080/hello, você pode ver o sucesso

insira a descrição da imagem aqui

10 Substituição da propriedade do arquivo

Encontre um arquivo archetype no diretório target\generated-sources do projeto, que é o arquivo esqueleto. Há um nele archetype-metadata.xml, este arquivo é a configuração básica.
insira a descrição da imagem aqui
Se as variáveis ​​Archetype forem usadas em arquivos de configuração ou em outro lugar, como em application.ymlspring.application.name

spring:
  application:
    name: ${
    
    artifactId}

Desta forma, ele precisa ser adicionado no local onde archetype-metadata.xml configura yml filtered="true".Se este atributo for adicionado, a variável de atributo será substituída. do seguinte modo

<fileSet encoding="UTF-8" filtered="true">
  <directory>src/main/resources</directory>
  <includes>
    <include>**/*.yml</include>
  </includes>
</fileSet>

Após a adição, o novo projeto gerado será substituído pelo artefatoId correspondente

spring:
  application:
    name: user-center

Acho que você gosta

Origin blog.csdn.net/q283614346/article/details/126692547
Recomendado
Clasificación