1. 程式人生 > >springboot 部署 java.lang.NoClassDefFoundError(第三方依賴jar包的問題)

springboot 部署 java.lang.NoClassDefFoundError(第三方依賴jar包的問題)

springboot+maven,老的專案中有好多第三方的jar包或者是自己的jar包,maven庫上沒有。

具體做法:

1.新建個lib目錄放jar包,我建在了src下;

 <!--新增外部依賴-->
        <dependency>
            <groupId>com.plat</groupId>
            <artifactId>plat_core_2_0</artifactId>
            <version>2.0</version>
            <scope>system</scope>
            <systemPath>${basedir}/src/lib/plat_core_2_0.jar</systemPath>
        </dependency>

basedir>是自帶變數,指的是當前專案的絕對路徑;

2.****把src/lib下的jar打到BOOT-INF/lib下 ****

在部署打成 jar包時,就會出現  java.lang.NoClassDefFoundError;解壓jar包看到自己的jar包沒有打入BOOT-INF/lib的lib包下;

 修改pom.xml檔案中, <build> 標籤下加入一下內容:

        <resources>
            <resource>
                <directory>src/lib</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>BOOT-INF/classes/</targetPath>
            </resource>
        </resources>

在重新 mvn clean package打成jar包後執行就ok了!