java工程mvn引用jar_maven 项目加载本地JAR

将jar安装到本地的maven仓库

1.首先确定本地有maven环境。

e0cba48abab1976b6810591e43c3e46b.png

2.安装本地jar

模板:

mvn install:install-file -Dfile= -DgroupId= -DartifactId= -Dversion= -Dpackaging=示例:

mvn install:install-file -Dfile=F:\jave-ffmpegjave-1.0.2.jar -DgroupId=ffmpegjave -DartifactId=java-ffmpegjave -Dversion=1.0.2 -Dpackaging=jar

: 要安装的JAR的本地路径

:要安装的JAR的Group Id

: 要安装的JAR的 Artificial Id

: JAR 版本

: 打包类型,例如JAR

注意:最好在pom.xml文件所在的目录运行上述命令,个人经验不在根目录运行有时会安装不成功

65ec69e141aaf55311545294a08e5561.png

如图出现SUCCESS就表示安装成功。

3.引用jar

找到安装的pom,打开复制引用

如:

ffmpegjave

java-ffmpegjave

1.0.2

这种方法弊端较大,程序的可维护性以及移植性较低。例如当你改变本地Maven仓库时需要重新安装。如果引用此JAR的项目是多人协调工作的项目,则每个人都要将其安装在自己的本地仓库。

解决办法

可以将此JAR文件放在工程的根目录下,让其随着项目走,然后在pom.xml文件中使用maven-install-plugin在Maven初始化阶段完成安装。

如图

fa058844456ef3b75043b24da5dde6aa.png

4.0.0

com.watch.parent

children-watch-parent

0.0.1-SNAPSHOT

com.watch.commons

children-watch-commons

0.0.1-SNAPSHOT

children-watch-commons

http://maven.apache.org

ffmpegjave

java-ffmpegjave

1.0.2

org.apache.maven.plugins

maven-install-plugin

2.5

initialize

install-file

ffmpegjave

java-ffmpegjave

1.0.2

jar

${basedir}/lib/java-ffmpegjave-1.0.2.jar

org.eclipse.m2e

lifecycle-mapping

1.0.0

org.codehaus.mojo

aspectj-maven-plugin

[1.0,)

test-compile

compile

org.apache.maven.plugins

maven-install-plugin

[2.5,)

install-file

false

SpringBoot的配置

org.springframework.boot

spring-boot-maven-plugin

initialize

install-file

ffmpegjave

java-ffmpegjave

1.0.2

jar

${basedir}/lib/java-ffmpegjave-1.0.2.jar

${basedir}表示pom.xml文件所在的目录

然后打包测试看是否能引用到。如图

d309c2865c6df8bbbe579d4a1f23745d.png

4c7f844c385fdf081eaf679567cb5b24.png

68a7b9f277e5dc392d6159c9df5c506b.png

cb628d70256896e387e9abd103e56e2b.png

我这里是聚合工程,jar是在公共项目中引用的,我netty项目要用到只需要引用公共项目就可以了,jar也会一起引用过来的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

compress()方法

boolean compress(Bitmap.CompressFormat format, int quality, OutputStream stream) 把位图的压缩信息写入到一个指定的输出流中。如果返回true,可以通过传递一个相应的输出流到BitmapFactory.decodeStream()来重构该位图。注意:并非所有的格式都直接支…

token的三点注意项

token的安全是极度重要的 1:token的唯一性, 它代表着来自某应用系统用户的一次成功登录。我们可以利用java util包工具直接生成一个32位唯一字符串来实现。 String token UUID.randomUUID().toString(); 同时,我们定义一个javabean&#xff…

0.1 js复习

1.1 JavaScript的用途 JavaScript用来制作web页面交互效果,提升用户体验。 能够制作的页面效果:轮播图,无限瀑布流,tab切换,定位地图,表单验证等。 web前端三层来说: 结构层 HTML 从语义的角度&…

优秀的软件企业为何倒下?

最近不到一个月,就看到两家著名公司——SUN公司和Borland公司相继被收购,引起IT界不小的震动,让人感慨万分。在此之前有北电(Nortel)、摩托罗拉的衰退,再往前有 美国数字设备公司Digital(Digita…

python 列表的推导器和内置函数

# 列表的推导式# li []# for i in range(1,11):# li.append(i)# print(li)## lis [i for i in range(1,11)] #列表的推导式# print(lis)#[变量(加工后的变量) for 变量 i in 可迭代的数据类型】 列表的推导式# li2 []# for i in ran…

Android service 中的stub类

stub是为了方便client,service交互而生成出来的代码。 AIDL(android 接口描述语言)是一个IDL语言,它可以生成一段代码,可以使在一个android设备上运行的两个进程使用内部通信进程进行交互。如果你需要在一个进程中(例如:在一个Activity中)访…

kafka exporter v0.3.0 发布: Prometheus官方推荐,欢迎试用

2019独角兽企业重金招聘Python工程师标准>>> 时隔1个半月,kakfa exporter v0.3.0于今日正式发布,欢迎大家试用。 项目地址 Github: https://github.com/danielqsj/kafka_exporter Docker Hub: https://hub.docker.com/r/danielqsj/kafka-expo…

java手动切换成独立显卡_JAVA设计模式之调停者模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述调停者(Mediator)模式的:调停者模式是对象的行为模式。调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用。从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发…

2018.2.8 php实现qq登陆接口

PHP实现QQ登录的原理和实现过程 2018-02-08 学习与分享 PHP自学中心 第三方登录,就是使用大家比较熟悉的比如QQ、微信、微博等第三方软件登录自己的网站,这可以免去注册账号、快速留住用户的目的,免去了相对复杂的注册流程。下边就给大家讲一…

关于积累的一点看法

这是vip那边发表的一篇帖子,今天整理,发现可能有一点代表性,就再发在这里,供各位同学参考。 坛子里有人讨论小公司要不要积累框架的问题,有感而发,写了点自己的看法,一家之言,欢迎拍…

去除vue项目中的#及其ie9兼容性

一、如何去除vue项目中访问地址的# vue2中在路由配置中添加mode(vue-cli创建的项目在src/router/index.js) 1 export default new Router({2 mode: history,3 routes: [4 {5 path: /,6 name: menu,7 component: menu,8 …

sendBroadcast与sendStickyBroadcast的区别

前提条件:此处我主要讨论两种广播在代码中动态注册时的一些细节问题。 正常情况下,广播通常都是执行一次注册代码,就会触发各接收器接收一次,无论是在onCreate里注册还是onResume里注册:若在onCreate里注册&#xff0…

java 线程池 初始大小_为什么tomcat的默认线程池大小如此之大? - java

我注意到默认的tomcat 7线程池大小似乎是200。但是普通的CPU似乎有16个内核。因此只能并行执行16个线程为什么tomcat使用那么多线程。参考方案多年以来,许多单核计算机问世,并且能够以“伪并行”模式运行功能,也就是说,您可能有16…

Hadoop2.6.0完全分布式安装

1、修改主机名称 对master/slave1/slave2同时配置为Master/Slave1/Slave2 masterMaster:~$ sudo gedit /etc/hostname 上述3个虚机结点均需要进行以上步骤 2、填写主机IP 对master/slave1/slave2同时配置 masterMaster:~$ sudo gedit /etc/hosts 192.168.48.128 master192.168.…

DEX加密效果分析

dex加密目的:保护安卓应用的Java源代码,避免被恶意分析,技术被窃取准备工具:1、apktool :反编译apk,提取smali代码2、dex2jar :将dex转化为jar文件3、jd-gui :查看jar文件&#xff0…

一些比特率值

比特率 比特率是指将数字声音由模拟格式转化成数字格式的采样率,采样率越高,还原后的音质就越好。 比特率值与现实音频对照: 16KBPS电话音质 24KBPS增加电话音质、短波广播、长波广播、欧洲制式中波广播40KBPS美国制式中波广播56KBPS话…

java asynccontext,超时后的JavaEE 6 AsyncContext行为

What is the exact behavior of AsyncContext after it times out? Does it still run and does it return response using getResponse()?解决方案Java Servlet 3.0 Maintenance Release on page 34 reads:A call to this method - ServletRequest.startAsync(ServletReques…

BZOJ1857:[SCOI2010]传送带——题解

http://www.lydsy.com/JudgeOnline/problem.php?id1857 Description 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段。两条传送带分别为线段AB和线段CD。lxhgww在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度R。…

mnt/sdcard和storage/sdcard的区别

/mnt 目录,熟悉linux的人都清楚,linux默认挂载外部设备都会挂到这个目录下面去,如将sd卡挂载上去后,会生成一个/mnt/sdcard 目录。 storage/sdcard 目录,这是一个软链接(相当于windows的文件夹的快捷方式&a…

kd树的原理

kd树就是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构,可以运用在k近邻法中,实现快速k近邻搜索。构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分。    假设数据集\(T\)的大小是\(m*n\),即\(T{x_1,x_2,...x_m}\),其中…