在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>
相關文章
相關標籤/搜索