将spring boot的pom.xml文件中的build替换为以下,然后刷新maven,打包即可

 <build>
        <plugins>
            <!-- 这个插件是用来打jar包的 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <!-- 将静态资源排除出jar包 -->
                    <excludes>
                        <include>*.*</include>
                    </excludes>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <!-- MANIFEST.MF 中 Class-Path 加入前缀 -->
                            <classpathPrefix>lib/</classpathPrefix>
                            <!-- jar包不包含唯一版本标识 -->
                            <useUniqueVersions>false</useUniqueVersions>
                            <!--  修改为自己的指定启动类的包路径 -->
                            <mainClass>com.songzixian.SzxBlogApplication
                            </mainClass>
                        </manifest>
                        <manifestEntries>
                            <!--MANIFEST.MF 中 Class-Path 加入资源文件目录 -->
                            <Class-Path>config/</Class-Path>
                        </manifestEntries>
                    </archive>
                    <!-- 指定打出的jar包路径 -->
                    <outputDirectory>${project.build.directory}</outputDirectory>
                </configuration>
            </plugin>
            <!-- 这个插件是用来复制项目依赖的jar包 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <!-- 自定义 -->
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <!-- 复制依赖的jar包 -->
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <!-- 将依赖的jar包复制到该路径下 -->
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!-- 这个插件是用来复制项目的静态资源
            windows命令
            java -jar -Dloader.path=config,lib rocket-web-1.0-SNAPSHOT.jar
            Linux 命令
            nohup java -jar -Dloader.path=config,lib rocket-web-1.0-SNAPSHOT.jar >> dispatche.log &
            -->
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <!-- 自定义 -->
                        <id>copy-resources</id>
                        <phase>package</phase>
                        <goals>
                            <!-- 复制静态资源 -->
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <resources>
                                <resource>
                                    <!-- 指定静态资源的路径 -->
                                    <directory>src/main/resources</directory>
                                    <!-- 指定需要复制的文件 -->
                                    <includes>
                                        <include>*.*</include>
                                    </includes>
                                </resource>
                            </resources>
                            <!-- 指定复制到该目录下 -->
                            <outputDirectory>${project.build.directory}/config</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

使用maven命令,或者IDEA插件打包

mvn clean package

打包后target目录会生成包含以下三个文件,config(配置) ,lib(jar包依赖),*.jar是项目包,将这3个目录文件拷贝到服务器,即可启动,这样打包的好处就是讲项目jar包和依赖分开,一般小项目jar包几百kb左右
打包后的目录截图.png

启动截图.png
前台启动

java -jar -Dloader.path=config,lib szxblog-1.0-SNAPSHOT.jar

后台启动

nohup java -jar -Dloader.path=config,lib szxblog-1.0-SNAPSHOT.jar > szxblog.log 2>&1 &

带JVM参数的后台启动

nohup java -Xms2048m -Xmx4096m -jar  -Dloader.path=config,lib szxblog-1.0-SNAPSHOT.jar > loanjob.log 2>&1 &
Last modification:March 15, 2023
如果觉得这篇技术文章对你有用,请随意赞赏