下载jar包并导入
一般是在maven网站上直接搜索需要的jar包下载,并在pom中导入依赖
有时候需要添加systemPath来指定jar包的位置,让springboot引用
fastjson,因为是maven中下载的包,所以要指定scope和systemPath
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
<scope>system</scope>
<systemPath>${pom.basedir}/src/main/resources/lib/fastjson-1.2.75.jar</systemPath>
</dependency>
pom.basedir还有project.basedir 也有直接basedir,具体出了问题搜bug就好
Maven: Maven的六类属性
下载好的jar包放在设置为resources的包下,一般是另外在下面建立一个lib表示外部导入
pom配置打包环境
注意依赖和插件是加在不同地方的
依赖<dependencies>中
<!--maven打包插件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.6.3</version>
</dependency>
<!--maven默认插件,用于编译源码-->
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</dependency>
插件<build>中
忽视lombok插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
解释:
-
spring-boot-maven-plugin是打包插件,引入这个插件之后用maven打包出来的jar包才是可执行的完整jar包
-
而includeSystemScope>true</includeSystemScope是设置打包的时候是否包括外部引入的jar包
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <includeSystemScope>true</includeSystemScope> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build>
外部引入jar包
这里以阿里的fastJson为例
同时,需要在pom中引入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
<scope>system</scope>
<systemPath>${pom.basedir}/src/main/resources/lib/fastjson-1.2.75.jar</systemPath>
</dependency>
注意:
- scope>system</scope必须设置system,这里和上面的includeSystemScope>true</includeSystemScope呼应
- systemPath>${pom.basedir}/src/main/resources/lib/fastjson-1.2.75.jar</systemPath中的路径必须指明引入的jar包
clean package
打包之后,点开jar包
搜索lib