關於SpringBoot不能將第三方或本地jar文件打進war包中的解決辦法

今天做東西時要用到第三發jar文件,本地代碼運行沒有問題,將war包部署服務器一直顯示classNotFoundError之類的問題,經過排查發現打war包後第三方jar文件沒有打進war中,看了springBoot文檔後解決了該問題,特此記錄!如下

1、我的第三方jar文件(本地jar亦是如此)

 <!-- 明日攝像頭控制 -->
        <dependency>
            <groupId>com.sun</groupId>  <!--自定義-->
            <artifactId>jna</artifactId>    <!--自定義-->
            <version>1.0</version> <!--自定義-->
            <scope>system</scope> <!--system,類似provided,需要顯式提供依賴的jar以後,Maven就不會在Repository中查找它-->
            <systemPath>${project.basedir}/src/main/resources/lib/jna.jar</systemPath> <!--項目根目錄下的lib文件夾下-->
        </dependency>

2、spring-boot-maven-plugin 中 做如下添加

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <!--將本地包打進war包中-->
    <configuration>
        <includeSystemScope>true</includeSystemScope>
    </configuration>
</plugin>

3、最重要的一步,我就是將這步沒有添加花費了好長時間

<!--引入本地/第三方jar包-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>src/main/resources/lib</directory>
                            <targetPath>WEB-INF/lib/</targetPath>
                            <includes>
                                <include>**/*.jar</include>
                            </includes>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
                

最後測試成功! 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章