说明:第三方 jar 包(或自己写的,即在 maven 中央仓库不存在的),在新项目中有引用,由于是在本地,所以 scope 是 system,无法打入

以网上的 beautyeye 为例子

<dependency>
      <groupId>com.beautyeye</groupId>  <!-- 自定义 -->
      <artifactId>beautyeye</artifactId>    <!-- 自定义 -->
      <version>1.0</version> <!-- 自定义 -->
      <scope>system</scope><!--system,类似 provided,需要显式提供依赖的 jar 以后,Maven 就不会在 Repository 中查找它 -->
      <systemPath>${basedir}/src/main/webapp/lib/beautyeye_lnf.jar</systemPath> <!-- 项目根目录下的 lib 文件夹下 -->
    </dependency>

该依赖现在执行 mvn package 是没有办法打入的

此时可以参考:https://devcenter.heroku.com/articles/local-maven-dependencies

基本操作:

在 pom.xml 同级目录创建一个仓库 repo

执行命令

mvn deploy:deploy-file -Durl=file:///path/to/yourproject/repo/ -Dfile=mylib-1.0.jar -DgroupId=com.example -DartifactId=mylib -Dpackaging=jar -Dversion=1.0

执行完后,在 pom.xml 引入该仓库

<repositories>
    <!--other repositories if any-->
    <repository>
        <id>project.local</id>
        <name>project</name>
        <url>file:${project.basedir}/repo</url>
    </repository>
</repositories>

此时依赖修改为

<dependency>
      <groupId>com.beautyeye</groupId>  <!-- 自定义 -->
      <artifactId>beautyeye</artifactId>    <!-- 自定义 -->
      <version>1.0</version> <!-- 自定义 -->
      <!--<scope>system</scope>--><!--system,类似 provided,需要显式提供依赖的 jar 以后,Maven 就不会在 Repository 中查找它 -->
      <!--<systemPath>${basedir}/src/main/webapp/lib/beautyeye_lnf.jar</systemPath>--> <!-- 项目根目录下的 lib 文件夹下 -->
    </dependency>

再次打包就会把第三方(或称本地)的 jar 包打进去了

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Jalen Chu 微信支付

微信支付

Jalen Chu 支付宝

支付宝

Jalen Chu 公众号

公众号