在 Maven 项目中引用本地文件(非 Maven 仓库中的依赖)有几种方法:
方法 1:使用 system 作用域
<dependency>
<groupId>com.example</groupId>
<artifactId>my-local-lib</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/my-local-lib.jar</systemPath>
</dependency>注意:
system作用域的依赖不会被包含在生成的包中(如 WAR/JAR)这种方法在团队协作中不推荐,因为其他开发者可能没有相同的本地文件
方法 2:安装到本地 Maven 仓库
更推荐的做法是将本地 JAR 文件安装到本地 Maven 仓库:
mvn install:install-file -Dfile=path/to/yourfile.jar \
-DgroupId=com.example \
-DartifactId=my-local-lib \
-Dversion=1.0 \
-Dpackaging=jar然后在 pom.xml 中正常引用:
<dependency>
<groupId>com.example</groupId>
<artifactId>my-local-lib</artifactId>
<version>1.0</version>
</dependency>方法 3:使用本地仓库路径
如果不想安装到默认的本地仓库,可以指定自定义本地仓库路径:
<repositories>
<repository>
<id>local-repo</id>
<url>file://${project.basedir}/lib</url>
</repository>
</repositories>然后按照标准方式声明依赖。
最佳实践建议
对于团队项目,建议设置内部 Nexus/Artifactory 仓库
对于个人项目,
mvn install到本地仓库是最简单可靠的方式尽量避免使用
system作用域,除非有特殊需求
评论区