由於項目需求,需要引用外部依賴jar包,並打進生成的項目jar包內。
新建libs文件夾
pom中加入如下配置:
<dependency> <!-- 隨便寫!! --> <groupId>com.aliyun</groupId> <!-- 隨便寫!! --> <artifactId>aliyun-java-sdk-core</artifactId> <!-- 隨便寫!! --> <version>3.2.2</version> <scope>system</scope> <!-- 重點!! 使用pom.basedir 不要用project.basedir!!否則會報錯!! --> <!-- project.basedir : project.basedir 就是當前項目根目錄 --> <!-- pom.basedir : pom.basedir指的是pom.xml文件所在的目錄, 也是項目根目錄--> <systemPath>${pom.basedir}/libs/aliyun-java-sdk-core-3.3.1.jar</systemPath> </dependency>
通過Maven導入外部jar包:
scope:配置的參數作用是 system:被依賴項不會從maven倉庫下載,而是從本地文件系統拿。需要添加systemPath的屬性來定義路徑.
systemPath:配置的作用是標注外部jar包的位置路徑,
其他的配置都可以隨便寫。
配置外部jar包一並打包進項目jar包
pom中加入如下配置:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- 代表maven打包時會將外部引入的jar包,打包到項目jar內 --> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> </plugins> <resources> <resource> <!-- directory 表示取該目錄下的文件 --> <directory>libs</directory> <!--targetPath 指定打包到哪個目錄下 默認是放到class目錄下--> <targetPath>/BOOT-INF/lib/</targetPath> <!-- 取符合格式的所有文件 *代表全部 --> <includes> <include>**/*.jar</include> </includes> </resource> <!-- 打包jar時解開下方的注釋,如果是編譯器運行項目時注釋掉下方配置,
因為編譯器運行項目時,項目會讀取外部依賴包的配置文件,
項目本身的配置文件讀不到 --> <!--<resource> 把src/main/resources下的所有配置文件加載到打包后的BOOT-INF/classes文件中 <directory>src/main/resources</directory> <targetPath>BOOT-INF/classes</targetPath> </resource>--> </resources> </build>
重要配置includeSystemScope參數,打包所有引用jar包。