maven创建springboot微服务项目,到打包完整案例

2023-11-07

1、在IDEA中点击File-New Project如图

2、点击Next下一步然后创建项目,项目名根据自己需求

  

3、创建好的项目是这样的如图

 

4、在pom.xml引入maven坐标

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.0.RELEASE</version>
        <relativePath/><!-- lookup parent from repository -->
    </parent>
    <groupId>org.example</groupId>
    <artifactId>demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>demo</name>
    <description>demo</description>
    <properties>
        <java.version>1.8</java.version>
        <fastjson.version>1.2.47</fastjson.version>
        <knife4j.version>2.0.8</knife4j.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

 5、在idea中设置Settings中设置你Maven路径

 

 6、创建启动类xxxApplication

 

7、 在resources新建application.yml

server:
  port: 8999
  servlet:
    session:
      timeout: 28800
    context-path: /demo-api
  tomcat:
    uri-encoding: UTF-8

spring:
  application:
    name: demo-api
  profiles:
    active: @env@

8、在pom.xml添加打包插件

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!-- 同时发布本地引用包 -->
                <configuration>
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>
            <!-- 打包时跳过测试 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
            <!-- 打包插件 -->
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <descriptors>
                        <!--指定assmbly配置文件路径-->
                        <descriptor>assembly.xml</descriptor>
                    </descriptors>
                    <finalName>${project.artifactId}</finalName>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <delimiters>
                        <delimiter>@</delimiter>
                    </delimiters>
                    <useDefaultDelimiters>false</useDefaultDelimiters>
                </configuration>
            </plugin>
        </plugins>
    </build>

9、在pom.xml添加打包profiles配置

 <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <env>dev</env>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <env>test</env>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <env>prod</env>
            </properties>
        </profile>
    </profiles>

10、新增assembly.xml

<assembly>
    <id>${env}</id>
    <formats>
        <!--指定打包格式-->
        <format>tar</format>
    </formats>
    <fileSets>
        <fileSet>
            <!--自定义的启动项目的脚本文件-->
            <directory>bin</directory>
            <outputDirectory></outputDirectory>
            <includes>
                <!--指定要包含的文件名称-->
                <include>*.sh</include>
<!--                <include>*.bat</include>-->
            </includes>
            <fileMode>0755</fileMode>
        </fileSet>
        <fileSet>
            <!--指定配置文件的位置、要包含的配置文件和配置文件输出目录-->
            <directory>src/main/resources</directory>
            <outputDirectory>config</outputDirectory>
            <includes>
                <include>application-${env}.yml</include>
            </includes>
        </fileSet>
        <fileSet>
            <!--指定数据库脚本文件的以及输出目录-->
            <directory>sql</directory>
            <outputDirectory>sql</outputDirectory>
            <includes>
                <include>*.sql</include>
            </includes>
        </fileSet>
        <fileSet>
            <!--指定jar包和输出位置-->
            <directory>target</directory>
            <outputDirectory>lib</outputDirectory>
            <includes>
                <include>*.jar</include>
            </includes>
        </fileSet>
        <fileSet>
            <!--指定日志文件和输出位置-->
            <directory>logs</directory>
            <outputDirectory>logs</outputDirectory>
            <fileMode>0755</fileMode>
            <excludes>
                <exclude>**/*</exclude>
            </excludes>
        </fileSet>
    </fileSets>
</assembly>

11、在resources下新建application-dev.yml 比如我要打包开发包jar

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/hwstest?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=UTC
    username: root
    password: hanwenshen
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      maxActive: 40
      initialSize: 1
      maxWait: 30000
      minIdle: 1
      timeBetweenEvictionRunsMillis: 60000
      minEvictableIdleTimeMillis: 300000
      validationQuery: select 'x'
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      poolPreparedStatements: true
      maxOpenPreparedStatements: 20

12、打包demo.jar

这样才你的target下就可以看到你的包,然后执行java -jar xxxxx.jar 就可以运行了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

maven创建springboot微服务项目,到打包完整案例 的相关文章

随机推荐