前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >maven项目引入本地jar包史上最详细实践方法

maven项目引入本地jar包史上最详细实践方法

作者头像
用户5546570
发布2020-11-12 11:13:44
18.7K0
发布2020-11-12 11:13:44
举报
文章被收录于专栏:以Java架构赢天下

maven引入本地jar包问题从3个层面考虑:

1. IDE工具如Jetbrains IDEA考虑:

依次打开IDEA的File – Project Structure – Project Settings – Modules –

Dependencies 选项卡区域,点击右上角+号图标,选择1.JARS or

directories…,再选择java工程根目录下的lib或libs目录下,把所有需要本地引入的jar包都多选中,然后点击OK即可。

maven项目引入本地jar包史上最详细实践方法

maven项目引入本地jar包史上最详细实践方法

2. Maven编译层面考虑:

在pom.xml文件中dependencies组件的最后部分添加如下图的本地依赖jar包。

注意scope为system表示本地的jar包。

systemPath为本地路径,一定要用${project.basedir}/开头引入,以表通用型。

maven项目引入本地jar包史上最详细实践方法

maven项目引入本地jar包史上最详细实践方法

以上3个地方如此修改后,联合的效果是,mvn clean package

后会target目录下生成一个lib目录,并且把所有的远程jar包和本地jar包都拷贝到lib目录下,以供后期java程序运行时找到之用。注意本地jar包会以上图中绿色框的约定的命名方式出现在lib目录下。

maven项目引入本地jar包史上最详细实践方法

上图中<addClasspath>true</addClasspath>表明会在生成的目标jar文件中MANIFEST.MF中添加classpath如下图,<classpathPrefix>lib</classpathPrefix>

表明会给MANIFEST.MF中的classpath中每一个classpath加一个前缀lib.这些特性都非常重要。

因此<plugins></plugins>组件下一共有3项:

maven项目引入本地jar包史上最详细实践方法

maven项目引入本地jar包史上最详细实践方法

以vim 打开生成的目标jar包vi mylucenedemo.jar:后:

maven项目引入本地jar包史上最详细实践方法

光标放在MANIFEST.MF上按下回车,即可看到:

maven项目引入本地jar包史上最详细实践方法

此外,如果有需要的话,java工程目标jar的运行可能还依赖于一些配置文件,通过pom.xml中profiles下的profile将其拷贝到target目录下的conf目录中去:

maven项目引入本地jar包史上最详细实践方法

效果如下图:

maven项目引入本地jar包史上最详细实践方法

3. 目标jar程序执行层面考虑:

接下来,就可以在java工程的根目录下执行:mvn clean install -U, 会生成如下的target目录,有用的是conf目录,lib目录和目标文件mylucenedemo.jar.

maven项目引入本地jar包史上最详细实践方法

执行方式是: 在target目录下直接执行java -jar mylucenedemo.jar即可。

maven项目引入本地jar包史上最详细实践方法

会自动读取当前目下的lib子目录的所有依赖jar包,包括引入的本地jar包。以及conf目录下的所有配置文件。

来源:https://www.tuicool.com/articles/UfYv2eY

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. IDE工具如Jetbrains IDEA考虑:
  • 2. Maven编译层面考虑:
  • 3. 目标jar程序执行层面考虑:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档