spring boot實戰(zhàn)之本地jar包引用

部分情況下無法通過maven倉庫直接下載需要的jar包,只能講jar包下載至本地來使用,spring boot框架內(nèi)通過maven加載第三方j(luò)ar包可以通過以下方式來實現(xiàn)(本地jar放在lib/目錄下),項目會打包為jar包來運行。

1、添加maven依賴

<dependency>
    <groupId>org.ansj</groupId>
    <artifactId>ansj_seg</artifactId>
    <version>3.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/ansj_seg-3.0.jar</systemPath>
</dependency>
  • scope system指明是本地jar包
  • systemPath指明本地jar包路徑

經(jīng)過以上配置,在eclipse內(nèi)已可正常運行,但編譯為jar包時會提示找不到相關(guān)的類,需要進行以下配置。

2、調(diào)整plugin參數(shù)

<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.7</source>
            <target>1.7</target>
            <compilerArguments>
                <extdirs>${project.basedir}/lib</extdirs>
            </compilerArguments>
        </configuration>
    </plugin>
</plugins>
  • 重點是compilerArguments內(nèi)的extdirs配置

3、調(diào)整resources配置

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

    <resource>
        <directory>${project.basedir}/src/main/resources</directory>
        <targetPath>BOOT-INF/classes/</targetPath>
    </resource>
</resources>
  • directory lib配置的作用是指定lib目錄下的jar包作為資源文件,在打包時一起copy至classes是目錄下
  • directory src/main/resources配置的作用是指明正常的java資源文件,不配置會被忽視

打包后的文件格式大概為:

BOOT-INF  
  -- lib  
     -- ansj_seg-3.0.jar  
  -- classess  
      -- application.properties  
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容