在maven项目中,第三方jar包是指在maven仓库中找不到的jar
maven仓库地址:https://mvnrepository.com/
在本地编译环境中使用
我这里使用的是IDEA
配置方法:File→Project Structure
根据Jar包所在路径进行添加即可
把第三方依赖包加入到最终的Jar可执行文件中
这里我提供最简单的方法
在pom.xml
的maven
插件中加上<includeSystemScope>true</includeSystemScope>
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.6</version>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>
按正常的方式写好<dependency>
,不过要注明路径,${project.basedir}
表示项目根路径
重点是指定第三方jar
包的路径,也就是配置好<systemPath>
,其他都可以随意
关于依赖中的scope
作用域
1.compile
默认作用域,表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。
2.test
表示依赖项目仅仅参与测试相关的工作,包括测试代码的编译,执行。比较典型的就是junit
。
3.runntime
表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile
相比只是跳过编译阶段而已。
4.provided
表示打包的时候可以不用打包进去。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile
,但是在打包阶段做了exclude
的动作。
5.system
从参与度来说,也provided
相同,不过被依赖项不会从maven
仓库取,而是从本地文件系统拿,一定需要配合systemPath
属性使用。