maven 项目加载本地JAR
将jar安装到本地的maven仓库
1.首先确定本地有maven环境。
2.安装本地jar
模板:
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
示例:
mvn install:install-file -Dfile=F:\jave-ffmpegjave-1.0..jar -DgroupId=ffmpegjave -DartifactId=java-ffmpegjave -Dversion=1.0. -Dpackaging=jar
<path-to-file>: 要安装的JAR的本地路径
<group-id>:要安装的JAR的Group Id
<artifact-id>: 要安装的JAR的 Artificial Id
<version>: JAR 版本
<packaging>: 打包类型,例如JAR
注意:最好在pom.xml
文件所在的目录运行上述命令,个人经验不在根目录运行有时会安装不成功
如图出现SUCCESS就表示安装成功。
3.引用jar
找到安装的pom,打开复制引用
如:
<dependency>
<groupId>ffmpegjave</groupId>
<artifactId>java-ffmpegjave</artifactId>
<version>1.0.</version>
</dependency>
这种方法弊端较大,程序的可维护性以及移植性较低。例如当你改变本地Maven仓库时需要重新安装。如果引用此JAR
的项目是多人协调工作的项目,则每个人都要将其安装在自己的本地仓库。
解决办法
可以将此JAR
文件放在工程的根目录下,让其随着项目走,然后在pom.xml
文件中使用maven-install-plugin在Maven初始化阶段完成安装。
如图
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.</modelVersion>
<parent>
<groupId>com.watch.parent</groupId>
<artifactId>children-watch-parent</artifactId>
<version>0.0.-SNAPSHOT</version>
</parent>
<!-- 公共项目 -->
<groupId>com.watch.commons</groupId>
<artifactId>children-watch-commons</artifactId>
<version>0.0.-SNAPSHOT</version> <name>children-watch-commons</name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- amr录音转换为mp3 -->
<dependency>
<groupId>ffmpegjave</groupId>
<artifactId>java-ffmpegjave</artifactId>
<version>1.0.</version>
</dependency> </dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<groupId>ffmpegjave</groupId>
<artifactId>java-ffmpegjave</artifactId>
<version>1.0.</version>
<packaging>jar</packaging>
<file>${basedir}/lib/java-ffmpegjave-1.0..jar</file>
</configuration>
</execution>
</executions>
</plugin>
<!--如果使用Eclipse报错的话,加入如下代码-->
<!--This plugin's configuration is used to store Eclipse m2e settings only.
It has no influence on the Maven build itself. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<versionRange>[1.0,)</versionRange>
<goals>
<goal>test-compile</goal>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-install-plugin
</artifactId>
<versionRange>
[2.5,)
</versionRange>
<goals>
<goal>install-file</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute>
<runOnIncremental>false</runOnIncremental>
</execute>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
SpringBoot
的配置
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<groupId>ffmpegjave</groupId>
<artifactId>java-ffmpegjave</artifactId>
<version>1.0.</version>
<packaging>jar</packaging>
<file>${basedir}/lib/java-ffmpegjave-1.0..jar</file>
</configuration>
</execution>
</executions>
</plugin>
${basedir}
表示pom.xml
文件所在的目录
然后打包测试看是否能引用到。如图
我这里是聚合工程,jar是在公共项目中引用的,我netty项目要用到只需要引用公共项目就可以了,jar也会一起引用过来的。
maven 项目加载本地JAR的更多相关文章
- maven无法加载本地jar包以及maven项目打包后本地jar包没有打进项目的问题解决办法
1.首先设置依赖项,这样maven就会把该路径下的jar包导入项目引用 <dependency> <groupId>DPSDK-Manager</groupId> ...
- maven加载本地jar
[问题描述] 由于对接公司外部产品,导致公司内网上的maven库中并不存在对应的SDK jar,因此,需要通过maven加载本地jar的方式来实现工程编译. [方法] 方法很简单, 1.在resour ...
- maven加载本地jar包到repository
maven加载本地jar到repository 这是一个常见场景,此处以本地opencv jar文件导入repository为例 1.Ubuntu下 mvn install:install-file ...
- 解决maven无法加载本地lib/下的jar包问题(程序包XXX不存在)
这次一个项目用到maven编译,我在本地开发的时候jar包都是放在WEB-INF/lib目录下,通过 BuildPath将jar包导入,然后用MyEclipse中的:maven package命令打成 ...
- 【转】解决maven无法加载本地lib/下的jar包问题(程序包XXX不存在)
原文链接:https://www.cnblogs.com/adeng/p/7096484.html 这次一个项目用到maven编译,我在本地开发的时候jar包都是放在WEB-INF/lib目录下,通过 ...
- Gradle加载本地jar包
有时,我们需要的jar包不一定能在远程仓库中找到,这时我们需要加载本地的jar包. 加载单独的jar包 在项目底下添加libs目录,将jar包仍进libs目录 build.gradle配置如下: de ...
- maven项目pom.xml加载本地jar,自定义jar
将jar放到resource目录下面: pom添加配置 <!-- 加载IK自定义 依赖--> <dependency> <groupId>com.ik.up< ...
- maven 手动加载第三方jar、zip包
使用maven搭建工程时,难免要加载大量的第三方的jar包.zip包比较少用,而maven的官网提供的jar往往不能满足需求,这时需要我们手动加载到我们本地或nexus私服的仓库中. 1.加载jar包 ...
- tomcat没有发布maven项目依赖的本地jar包
建立springMVC的maven项目,平时使用的jar包都是在pom.xml文件配置依赖关系, maven会自动从仓库中下载,这样使用tomcat部署发布都没有问题.但有时我们需要使用maven仓库 ...
随机推荐
- 【Oracle】闪回技术
1.闪回技术描述 2.数据库的准备: --undo表空间要设置成AUTO,设置合适的保存时间.undo表空间: SYS@ENMOEDU> show parameter undo NAME TYP ...
- PHP中的字符串类型
PHP支持两种类型的字符串,这些字符串用引号说明. 1.如果希望赋值一个字面意义的字符串,精确保存这个字符串的内容,应该用单引号标注,例如: $info='You are my $sunshine'; ...
- AS3.0 扑克牌乱序排列法洗牌
package { /* *@ClassName:package::PokerMain *@Intro:这是一个初始化1-52扑克牌,然后进行乱序排列进行洗牌: *@Author:非若 *@Date: ...
- Laravel5.6安裝:Warning: require(../vendor/autoload.php): failed to open stream: No such file or directory
在phpstudy下使用composer+laravel安装器的方式安装了Laravel,但是访问的时候报错: Warning: require(D:\phpstudy\WWW\public\mybl ...
- Ubuntu 16.04 安装python3.6 环境并设置为默认
1.添加python3.6安装包,并且安装 sudo apt-get install software-properties-common 2.下载python3.6 sudo add-apt-rep ...
- 用shell编写一个三角形图案
第一种方法 #!/bin/bash read -p "请输入层数: " n for (( i=1; i<=$n;i++ ))do for (( j=n; j>=i; ...
- BZOJ 1666: [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏 幼儿园测试题
本来以为是一道数学题,一顿XJBT导式子,结果就是个幼儿园都会的模拟. Code: #include<bits/stdc++.h> #define ll long long using n ...
- django视图的定义
概述 视图:视图的本质就是一个python中的函数,作用是接收web请求,并响应web请求. 过程:django获取浏览器输入的url,经过django中的url管理器匹配到对应的视图函数,视图管理器 ...
- 一次 Laravel 性能分析全程笔记
大家都知道 laravel 项目写起来是挺爽,但是在生产环境性能不高,我们来抽丝剥茧分析我自己项目的运行时间消耗: Bootstrap 耗时 步骤 耗时 Illuminate\Foundation\B ...
- Python编程:从入门到实践 - matplotlib篇 - plot & scatter
matplotlib篇 plot & scatter # filename.py 获取当前文件名方法 import sys # 当前文件名 print(sys.argv[0]) # 去除后缀后 ...