Empaquete el proyecto en un Arquetipo Maven (andamiaje de proyecto de módulo único)

tutorial oficial

1 Crear un proyecto, módulo único, la estructura del proyecto es la siguiente

inserte la descripción de la imagen aquí

工程规范: el ID de grupo del proyecto debe ser coherente con el nombre del paquete de nivel superior.

De lo contrario, la plantilla creada debe modificarse manualmente en muchos lugares y, si es consistente, se puede reemplazar directamente ${groupId}.
inserte la descripción de la imagen aquí

2 pom.xml agregar el complemento 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 Agregue la variable de entorno Maven MAVEN_OPTS

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

4 Archetype.properties añadidos

Cuando usamos el complemento maven-archetype-plugin para generar un proyecto de plantilla de arquetipo basado en el proyecto actual, el complemento empaquetará todos los archivos del proyecto actual en el paquete jar de forma predeterminada.

De hecho, esperamos filtrar algunos directorios de archivos no esenciales durante la compilación, como el directorio .idea, README.md, etc. En este momento, solo necesitamos configurar un parámetro de archivo durante la compilación y definir atributos en él para filtrar archetype.propertiesarchivos excludePatterno tabla de contenido.

excludePatternsLos parámetros pueden especificar varias condiciones de filtro, separadas por comas.

Sin embargo, debe tenerse en cuenta que si desea filtrar todo el directorio, como .ideael directorio, .idea/*debe configurarlo como: en lugar de solo completar la idea, esta .gitignoreconfiguración sigue siendo diferente.

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

5 Agregar .gitignore

Cámbiele .gitignoreel nombre a __gitignore__y archetype.propertiesagregue lo siguiente a

gitignore=.gitignore

6 Construir arquetipos

Ingrese al directorio del proyecto y ejecute el siguiente comando

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

Una vez completada la compilación, verá este arquetipo en el objetivo

inserte la descripción de la imagen aquí

7 Instalar arquetipo en el almacén local

Ingrese al directorio donde se encuentra el Arquetipo creado:target\generated-sources\archetype

ejecuta el siguiente comando

mvn install

8 Usando un arquetipo personalizado

Ingrese un nuevo directorio y ejecute el siguiente comando

mvn archetype:generate -DarchetypeCatalog=local

Elija 3 aquí, que es el arquetipo recién generado

inserte la descripción de la imagen aquí

Complete uno por uno groupId ,artifactId,version,package, luego presione Entrar e ingrese Y para crear un nuevo proyecto

inserte la descripción de la imagen aquí

Creado

inserte la descripción de la imagen aquí

9 Abra el proyecto y verifique

El nuevo proyecto es el mismo que el proyecto original.

inserte la descripción de la imagen aquí

Ahora comienza y verifica

inserte la descripción de la imagen aquí

Ingrese http://localhost:8080/hello, puede ver el éxito

inserte la descripción de la imagen aquí

10 Reemplazo de propiedad de archivo

Busque un archivo de arquetipo en el directorio target\generated-sources del proyecto, que es el archivo esqueleto. Hay uno en él archetype-metadata.xml, este archivo es la configuración básica.
inserte la descripción de la imagen aquí
Si las variables de Archetype se usan en archivos de configuración o en otro lugar, como en application.ymlspring.application.name

spring:
  application:
    name: ${
    
    artifactId}

De esta manera, debe agregarse en el lugar donde archetype-metadata.xml configura yml filtered="true".Si se agrega este atributo, se reemplazará la variable de atributo. como sigue

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

Después de agregar, el nuevo proyecto generado se reemplazará con el artefactoId correspondiente

spring:
  application:
    name: user-center

Supongo que te gusta

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