通过本地 repository 加载 jar 包到 Maven 依赖中

本贴最后更新于 2050 天前,其中的信息可能已经时移世异

很多优秀的 Java 项目实际上并不提供免费使用,比如 aspose,而作为个人的话一般而言都会选择它的破解版本来研究,那么破解后的 jar 包肯定是不能直接在 Maven 的中央仓库下载到的,我们只能选择本地导入或者私服的方式来加载,后者会要求你具备 nexus 私服系统,前者若通过 system scope 来导入的话,是无法使用使用 jar-with-dependencies 进行打包的,那么这里提供另一种实现方式:在项目下创建一个 repository 来加载

先上项目源代码:github/simple-convert

创建本地 repository

  • 进入项目根目录,假设我们有一个名为 libs 的目录,libs 下面有一个名为 aspose-words-15.8.0-jdk16.jar 的 jar 包(破解好的 jar 包)

  • 在项目根目录下创建一个名为 repo 的目录,接下来把这个目录作为我们的本地 repository

  • 在 libs 目录下执行命令,将 aspose 的 jar 包 deploy 到 repo 下面

    mvn deploy:deploy-file -DgroupId=com.aspose.words -DartifactId=aspose-words -Dversion=15.8.0 -Dpackaging=jar -Dfile=./aspose-words-15.8.0-jdk16.jar -Durl=file://${您的项目根目录绝对地址}\repo\ 
    
  • build success 后我们应该可以在 repo 目录下观察到理想的结果:

1.png

配置 pom.xml

  • 首先配置我们刚刚添加的本地 repository

     <repositories>
        <repository>
          <id>project.local</id>
          <name>project</name>
          <url>file:${project.basedir}/repo</url>
        </repository>
      </repositories>
    
  • 接下来直接使用 aspose 的 jar 包便可

    <dependency>
          <groupId>com.aspose.words</groupId>
          <artifactId>aspose-words</artifactId>
          <version>15.8.0</version>
        </dependency>
    

总结

通过这种方式来让 maven 加载本地的 jar 包,可以规避 system scope 所会带来的问题,同时能够最大化避免跟其他 plugin(打 jar 包的 plugin)所可能产生的冲突

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 302 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...