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仓库 ...
随机推荐
- 运行Tomcat闪退问题,报的错误:Unsupported major.minor version 51.0
在MyEclipse中运行tomcat,tomcat闪退并且报以下错误. java.lang.UnsupportedClassVersionError: org/apache/catalina/sta ...
- (转)基于MVC4+EasyUI的Web开发框架形成之旅--权限控制
http://www.cnblogs.com/wuhuacong/p/3361351.html 我在上一篇随笔<基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍>中大 ...
- mach-o格式分析
0x00 摘要 人生无根蒂,飘如陌上尘. 分散逐风转,此已非常身. — 陶渊明 <杂诗> mach-o格式是OS X系统上的可执行文件格式,类似于windows的PE与linux的ELF, ...
- 图表库 - Highchart / Echart
当前主要使用HighChart和Echart图表库,都基于Jquery,需要先引用Jquery. 实际问题:引入Jquery需在图表库前,否则报错. HighChart官网:https://www.h ...
- Asp.net Core 源码-SessionExtensions
using Microsoft.AspNetCore.Http; using Newtonsoft.Json; namespace SportsStore.Infrastructure { publi ...
- 安装oracle执行runInstaller文件时报错:“……/install/.oui:Permission denied”
一:问题描述 二:出错原因 将windows下未解压的Oracle安装软件上传到了linux服务器,导致有三个文件的执行权限丢失. 三:解决方法 为其赋予相应权限即可. 1: [root@MyPc ~ ...
- java 常用API 时间 练习
package com.orcal.demc01; import java.util.Date; public class Xuexi { public static void main(String ...
- 功分器 power divider
之前讲过有了解过耦合器,知道耦合器是矢网测量当中的关键设备 coupler //------------------------------------------------------------ ...
- 洛谷P1466 集合 Subset Sums_01背包水题
不多解释,适当刷刷水… Code: #include<cstdio> #include<algorithm> using namespace std; const int ma ...
- Hibernate Session操作
1.增加 @Test public void add(){ Configuration cfg=new Configuration().configure(); SessionFactory fact ...