在IDEA中将SpringBoot项目打包成jar包的方法

SpringBoot项目无需依赖tomcat容器(内含)就能够发布,如今将打包步骤记录一下:

1. 打包前确认项目能够正常运行,打开Project Structure 快捷键 Ctrl+Shift+Alt+S,或者点击下图图标java

2. 将代码打包,操做以下图所示:spring

3.以下图,module选择须要打包的项目名;Main Class 选择项目的主程序类;输出目录确保是空的,若是里面有一个MANIFEST.MF文件,要先删除掉apache

若是存在就删除,不存在就没必要理会tomcat

4. 如今将设置都搞定好后,就开始打包,若是初次打包按照如下流程maven

点击Build Artifacts后会出现下图的弹窗spring-boot

若是是初次打包点击build,若是不是请点击Rebuild测试

5. 最后找到输出目录便可ui

全部的输出文件都在out目录下,运行 java -jar xxxx.jar便可运行项目spa

 

利用 maven  使用 项目代码,与依赖分开。这里没有使用 【spring-boot-maven-plugin】 而是使用了 【maven-jar-plugin】code

<build>
        <!--打成 jar 包后的名称-->
        <finalName>xy-tasty-mgr</finalName>

        <plugins>
            <!--使用 spring-boot plugin 打包 -->
            <!--<plugin>-->
            <!--<groupId>org.springframework.boot</groupId>-->
            <!--<artifactId>spring-boot-maven-plugin</artifactId>-->
            <!--</plugin>-->

            <!--跳过测试-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>

            <!--打jar 包-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <!--添加依赖包-->
                            <addClasspath>true</addClasspath>
                            <!-- MANIFEST.MF 中 Class-Path 加入前缀 -->
                            <classpathPrefix>lib/</classpathPrefix>
                            <!--指定入口类 -->
                            <mainClass>com.xy.tasty.mgr.TastyMgrApplication</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

            <!--依赖包复制-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-lib</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                            <includeScope>compile</includeScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>

 

若是不是 spring-boot 模块,但继承了【spring-boot-starter-parent】 打包:

<build>

        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <!-- 是否添加依赖的jar路径配置 -->
                            <addClasspath>false</addClasspath>
                            <!-- MANIFEST.MF 中 Class-Path 加入前缀 -->
                            <!--<classpathPrefix>lib/</classpathPrefix>-->
                            <!--指定入口类 -->
                            <!--<mainClass>com.example.demo.DemoApplication</mainClass>-->
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

        </plugins>

    </build>
相关文章
相关标签/搜索