springboot打成jar包和war包的兩種方式,並引入第三方jar包!


springboot打成jar包和war包的兩種方式,並引入第三方jar包!

首先把需要引入的第三方jar包引入到本地項目中,在引用的模塊下加一個lib文件夾

一、打成jar包

1.修改pom文件里的打包方式

<packaging>jar</packaging>

2.引入第三方依賴包

<!--本地sdk的第三方包-->
<dependency>
    <groupId>com.alipay</groupId>
    <artifactId>alipay-sdk-java-DEV20171211110402</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/alipay-sdk-java-DEV20171211110402.jar</systemPath>
</dependency>

3..修改pom文件中的build

<build>
        <defaultGoal>clean package</defaultGoal>
        <finalName>${project.artifactId}</finalName>
        <plugins>

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <executable>true</executable>
                    <includeSystemScope>true</includeSystemScope><!--把第三方jar包打包進來-->
                    <mainClass>com.bosssoft.MpayMercPlatformWebApplication</mainClass><!--主程序啟動類-->
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!-- 可以把依賴的包都打包到生成的Jar包中 -->
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>

        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/**</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>

    </build>

二、打成war包

1.修改pom文件的打包方式

<packaging>jar</packaging>

2.排除內嵌的tomact

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!--排除內嵌的tomcat,打成war包時開啟,開發使用時需要注釋掉-->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

3.修改主程序啟動類

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class MpayMercPlatformWebApplication extends SpringBootServletInitializer {

    /**
     * 工程打成war需要繼承SpringBootServletInitializer,重寫configure方法
     * @param application
     * @return
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(MpayMercPlatformWebApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(MpayMercPlatformWebApplication.class, args);
    }

}

4.修改build文件,添加plgin插件

<!--打成war包時開啟-->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <!--<resourceEncoding>UTF-8</resourceEncoding>-->
        <!-- 釋放將項目的類文件打成jar放到lib目錄中。 打成jar的好處是:只修改class時,可以只更新jar。<archive></archive> -->
        <attachClasses>true</attachClasses><!-- 把class打包jar作為附件 -->
        <archiveClasses>true</archiveClasses><!-- 把class打包jar -->
        <webResources>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>WEB-INF/classes</targetPath>
                <excludes>
                    <exclude>**/*.class</exclude>
                </excludes>
            </resource>
            <!--引入第三方包-->
            <resource>
                <directory>${project.basedir}/lib</directory>
                <targetPath>WEB-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
        </webResources>
        <packagingExcludes>
            WEB-INF/lib/*-classes.jar
        </packagingExcludes>
    </configuration>
</plugin>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM