掘金 后端 ( ) • 2024-03-30 10:52

jeecgboot原始项目正常打包后,整个jar包有接近200mb,可以通过分离打包部署,将依赖单独拎出来存放,这样在后续开发中,在没有更新依赖的情况下,极大地降低了项目打包和传输的时间。

image.png

一、打包项目

通过 maven -> package 打包项目,这里只是为了拿到依赖包。

image.png

二、解压jar包

将上一步的jar包解压:

image.png

解压后目录:

image.png

解压后 classes 文件夹下的目录:

这里面的yml文件下一步需要用到。

image.png

三、创建文件夹

创建一个文件用于存放依赖和配置(这里在E盘的jeecgboot下创建了一个lib文件夹),然后将上一步的解压的jar包中lib文件复制到该文件夹里面,再创建一个config文件夹,将上一步解压后的classes文件夹下的yml文件复制到config文件夹中,最终目录如下:

image.png

image.png

四、修改pom文件

修改jeecg-system-start目录下pom文件的代码:

原:
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
新:
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <layout>ZIP</layout>
                <includes>
                    <include>
                        <groupId>nothing</groupId>
                        <artifactId>nothing</artifactId>
                    </include>
                </includes>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
该插件在打包的时候,会自动屏蔽掉第三方依赖,这样就能减少jar的内存。

image.png

五、再次打包:

通过maven -> install 打包项目:

也可以使用 maven -> package 打包,install和package区别这里不过多解释,install包含了package的所有操作。

image.png

最终打包后的jar包只有200多kb大小。

image.png

六、运行jar包

指令 java -Dloader.path=***\lib -jar ***.jar
前面的 * 表示lib地址,后面的 * 表示jar包的地址

image.png

可以看到已经运行成功了:

image.png

七、访问项目

这里前端是已经是跑起来的:

image.png

浏览器访问上面四个地址之一,即可进入jeecgboot系统:

image.png

分离部署极大地降低了每次打包、传输的文件大小,避免重复操作,还是很有用的;哪怕是项目更新依赖或者添加依赖,也只需要在lib文件夹中把修改部分依赖进行更新即可。