SpringBoot项目搭建与打包

1、环境准备

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

2、SpringBoot微服务搭建

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

 

 

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

 

 

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

 

 

4.选择项目的位置apache

 

 

5.选择打开一个新窗口maven

 

 

6.项目的基本结构ide

 

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

 

3、Spring Boot 多模块项目搭建

主项目及相关配置

1.搭建一个主项目spring-boot

 

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

 

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

 

 

4、项目使用第三方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找不到的错误

5、项目打包配置

项目打包命令: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);
    }

}

 
相关文章
相关标签/搜索