很奇怪的就是本地的jar一直没有被引用到项目中,后面干脆使用了绝对路径的引用
<dependency> <groupId>com.jun.cloud</groupId> <artifactId>jun-opentsdb-client</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>C:/Users/jun/respotory/com/jun/cloud/jun-opentsdb-client/1.0/jun-opentsdb-client-1.0.jar</systemPath> </dependency>
问题:
maven 的<dependency>的scope属性可以为system,因为有些你依赖的jar包可能是没有maven坐标的,它完全不在maven体系中,这时候你可以把它下载到本地硬盘,然后通过system来引用
不过不推荐使用system,因为一个项目的pom.xml如果使用了scope为system的depend后,会导致传递依赖中断,即所有其他依赖本项目的项目都无法传递依赖了。
比如:假设A项目依赖了m.jar, n.jar, x.jar, 然后我们把A项目打包成了a.jar, 如果此时B项目依赖了A项目,则B项目通常自然就已经默认传递依赖了m.jar, n.jar, x.jar。但是如果A项目的pom.xml文件出现了scope为system的depend,则B项目就只能依赖a.jar, 将无法传递依赖m.jar, n.jar, x.jar
ps:
只适合很奇怪的场景下,先测试使用