• SpringBoot项目搭建与打包


    一、环境准备

    1. 本地java环境jdk1.8
    2. Maven版本3.5.2
    3. IDE工具idea2017

    二、SpringBoot微服务搭建

    1.点击File >> New >> Project,选中Spring Initializr,选择项目JDK版本,点击下一步即可。

     

    2.设置项目的基本信息和相关配置

     

    3.选择spring boot版本和项目的基本依赖

     

    4.选择项目的位置

     

    5.选择打开一个新窗口

     

    6.项目的基本结构

     

    以上就是单个微服务项目搭建的基本过程

    三、Spring Boot 多模块项目搭建

    主项目及相关配置

    1.搭建一个主项目

    2.删除src目录,得到以下项目结构

     

    3.打开pom文件得到以下内容

    因为主项目不需要打包,所以删除项目打包配置,并把打包方式改为pom:修改结果如下

    项目公共类微服务搭建

    如果微服务比较多,项目比较复杂,多个项目可能使用同一个类和共用配置,所以我们可以把一些公用的代码提取出来,放到一个微服务里面供其他微服务使用。

    1.建立common模块

    右键选中项目 >> New >> Module

    打开Module新建窗口,新建过程和普通微服务新建过程一般无二(可以参考第二节)

     

    因为公共微服务不需要启动和测试,所以可以删除启动类和test目录

    2.修改主项目master的pom文件

     

    3.修改微服务common的pom文件(common也不需要打包)

     

    应用类微服务搭建

    几乎所有项目都有用户模块,我们可以将用户模块单独提出来,作为一个微服务使用

    1.新建用户微服务模块

     

    2.修改主项目master的pom

     

    3.修改微服务sysuser的pom,同时引入common

     

    以上多模块项目就搭建完成了

    四、项目使用第三方jar包(本地jar包)

    在项目src下新建一个lib文件夹,把所有第三方jar放入

     

     

    在pom文件中配置dependency依赖

    <dependency>
                <groupId>fileserver-client</groupId>
                <artifactId>fileserver-client</artifactId>
                <version>1.0.0</version>
                <scope>system</scope>
                <systemPath>${basedir}/src/lib/fileserver-client.jar</systemPath>
            </dependency>

    这样项目就可以编译成功,但项目打包的时候会报jar找不到的错误

    五、项目打包配置

    项目打包命令:mvn -Dmaven.test.skip –U clean package

    可以整个项目一起打包,

     

    也可以单个微服务打包,不过这里有一个地方需要注意

    common打包出来的应该是不可执行的jar包,所以不要在common的pom中定义spring-boot-maven-plugin插件,因为这个SpringBoot插件会在Maven的package后进行二次打包,目的为了生成可执行jar包,如果common中定义了这个插件,会报错提示没有找到main函数。这时你就可以去打包sysuser项目了,当然打包的时候可能还是不行,这里还有一个小坑,如果还是不能进行打包的话,那么就install一下master项目,也就是总目录下的pom文件对应的install操作,这样再打包front项目基本上就没有问题了,老铁,都是经验呀,希望对你们有帮助

     

    打包jar

    在项目中设置打包类型

    <packaging>jar</packaging>

    修改打包插件

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.ccdc.microservice.upload.UploadApplication</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/lib</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>BOOT-INF/classes/</targetPath>
            </resource>
        </resources>
    </build>

    打包war

    1.在项目中设置打包类型

    <packaging>war</packaging>

    2.修改打包插件

    <build>
        <plugins>
            <!--设置maven-war-plugins插件,否则外部依赖无法打进war包-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>src/lib</directory>
                            <targetPath>WEB-INF/lib/</targetPath>
                            <includes>
                                <include>**/*.jar</include>
                            </includes>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
        </plugins>
    </build>

    2.重写应用启动类

    @SpringBootApplication
    public class UploadApplication extends SpringBootServletInitializer {
    
        public static void main(String[] args) {
            SpringApplication.run(UploadApplication.class, args);
        }
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(UploadApplication.class);
        }
    
    }
    
     
  • 相关阅读:
    机器学习入门:线性回归及梯度下降
    torch7入门(安装与使用)
    机器学习--详解人脸对齐算法SDM-LBF
    人脸对齐和应用
    如何使用Unity制作虚拟导览(一)
    fatal error C1083: Cannot open include file: 'qttreepropertybrowser.moc': No such file or directory
    在QTreeWidget中删除QTreeWidgetItem
    如何写一个简单的手写识别算法?
    面向对象编程的弊端是什么?
    神舟飞船上的计算机使用什么操作系统,为什么是自研发不是 Linux?
  • 原文地址:https://www.cnblogs.com/bunuo/p/9634703.html
Copyright © 2020-2023  润新知