将jar安装到本地的maven仓库

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

2.安装本地jar

  1. 模板:
  2. mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
  3. 示例:
  4. mvn install:install-file -Dfile=F:\jave-ffmpegjave-1.0..jar -DgroupId=ffmpegjave -DartifactId=java-ffmpegjave -Dversion=1.0. -Dpackaging=jar
  1. <path-to-file>: 要安装的JAR的本地路径
  2. <group-id>:要安装的JAR的Group Id
  3. <artifact-id>: 要安装的JAR的 Artificial Id
  4. <version>: JAR 版本
  5. <packaging>: 打包类型,例如JAR

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

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

3.引用jar

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

如:

  1. <dependency>
  2. <groupId>ffmpegjave</groupId>
  3. <artifactId>java-ffmpegjave</artifactId>
  4. <version>1.0.</version>
  5. </dependency>

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

解决办法

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

如图

  1. <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">
  2. <modelVersion>4.0.</modelVersion>
  3. <parent>
  4. <groupId>com.watch.parent</groupId>
  5. <artifactId>children-watch-parent</artifactId>
  6. <version>0.0.-SNAPSHOT</version>
  7. </parent>
  8. <!-- 公共项目 -->
  9. <groupId>com.watch.commons</groupId>
  10. <artifactId>children-watch-commons</artifactId>
  11. <version>0.0.-SNAPSHOT</version>
  12.  
  13. <name>children-watch-commons</name>
  14. <url>http://maven.apache.org</url>
  15. <dependencies>
  16. <!-- amr录音转换为mp3 -->
  17. <dependency>
  18. <groupId>ffmpegjave</groupId>
  19. <artifactId>java-ffmpegjave</artifactId>
  20. <version>1.0.</version>
  21. </dependency>
  22.  
  23. </dependencies>
  24. <build>
  25. <pluginManagement>
  26. <plugins>
  27. <plugin>
  28. <groupId>org.apache.maven.plugins</groupId>
  29. <artifactId>maven-install-plugin</artifactId>
  30. <version>2.5</version>
  31. <executions>
  32. <execution>
  33. <phase>initialize</phase>
  34. <goals>
  35. <goal>install-file</goal>
  36. </goals>
  37. <configuration>
  38. <groupId>ffmpegjave</groupId>
  39. <artifactId>java-ffmpegjave</artifactId>
  40. <version>1.0.</version>
  41. <packaging>jar</packaging>
  42. <file>${basedir}/lib/java-ffmpegjave-1.0..jar</file>
  43. </configuration>
  44. </execution>
  45. </executions>
  46. </plugin>
  47. <!--如果使用Eclipse报错的话,加入如下代码-->
  48. <!--This plugin's configuration is used to store Eclipse m2e settings only.
  49. It has no influence on the Maven build itself. -->
  50. <plugin>
  51. <groupId>org.eclipse.m2e</groupId>
  52. <artifactId>lifecycle-mapping</artifactId>
  53. <version>1.0.</version>
  54. <configuration>
  55. <lifecycleMappingMetadata>
  56. <pluginExecutions>
  57. <pluginExecution>
  58. <pluginExecutionFilter>
  59. <groupId>org.codehaus.mojo</groupId>
  60. <artifactId>aspectj-maven-plugin</artifactId>
  61. <versionRange>[1.0,)</versionRange>
  62. <goals>
  63. <goal>test-compile</goal>
  64. <goal>compile</goal>
  65. </goals>
  66. </pluginExecutionFilter>
  67. <action>
  68. <execute />
  69. </action>
  70. </pluginExecution>
  71. <pluginExecution>
  72. <pluginExecutionFilter>
  73. <groupId>
  74. org.apache.maven.plugins
  75. </groupId>
  76. <artifactId>
  77. maven-install-plugin
  78. </artifactId>
  79. <versionRange>
  80. [2.5,)
  81. </versionRange>
  82. <goals>
  83. <goal>install-file</goal>
  84. </goals>
  85. </pluginExecutionFilter>
  86. <action>
  87. <execute>
  88. <runOnIncremental>false</runOnIncremental>
  89. </execute>
  90. </action>
  91. </pluginExecution>
  92. </pluginExecutions>
  93. </lifecycleMappingMetadata>
  94. </configuration>
  95. </plugin>
  96. </plugins>
  97. </pluginManagement>
  98. </build>
  99. </project>

SpringBoot的配置

  1. <plugin>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-maven-plugin</artifactId>
  4. <executions>
  5. <execution>
  6. <phase>initialize</phase>
  7. <goals>
  8. <goal>install-file</goal>
  9. </goals>
  10. <configuration>
  11. <groupId>ffmpegjave</groupId>
  12. <artifactId>java-ffmpegjave</artifactId>
  13. <version>1.0.</version>
  14. <packaging>jar</packaging>
  15. <file>${basedir}/lib/java-ffmpegjave-1.0..jar</file>
  16. </configuration>
  17. </execution>
  18. </executions>
  19. </plugin>

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

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

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

maven 项目加载本地JAR的更多相关文章

  1. maven无法加载本地jar包以及maven项目打包后本地jar包没有打进项目的问题解决办法

    1.首先设置依赖项,这样maven就会把该路径下的jar包导入项目引用 <dependency> <groupId>DPSDK-Manager</groupId> ...

  2. maven加载本地jar

    [问题描述] 由于对接公司外部产品,导致公司内网上的maven库中并不存在对应的SDK jar,因此,需要通过maven加载本地jar的方式来实现工程编译. [方法] 方法很简单, 1.在resour ...

  3. maven加载本地jar包到repository

    maven加载本地jar到repository 这是一个常见场景,此处以本地opencv jar文件导入repository为例 1.Ubuntu下 mvn install:install-file ...

  4. 解决maven无法加载本地lib/下的jar包问题(程序包XXX不存在)

    这次一个项目用到maven编译,我在本地开发的时候jar包都是放在WEB-INF/lib目录下,通过 BuildPath将jar包导入,然后用MyEclipse中的:maven package命令打成 ...

  5. 【转】解决maven无法加载本地lib/下的jar包问题(程序包XXX不存在)

    原文链接:https://www.cnblogs.com/adeng/p/7096484.html 这次一个项目用到maven编译,我在本地开发的时候jar包都是放在WEB-INF/lib目录下,通过 ...

  6. Gradle加载本地jar包

    有时,我们需要的jar包不一定能在远程仓库中找到,这时我们需要加载本地的jar包. 加载单独的jar包 在项目底下添加libs目录,将jar包仍进libs目录 build.gradle配置如下: de ...

  7. maven项目pom.xml加载本地jar,自定义jar

    将jar放到resource目录下面: pom添加配置 <!-- 加载IK自定义 依赖--> <dependency> <groupId>com.ik.up< ...

  8. maven 手动加载第三方jar、zip包

    使用maven搭建工程时,难免要加载大量的第三方的jar包.zip包比较少用,而maven的官网提供的jar往往不能满足需求,这时需要我们手动加载到我们本地或nexus私服的仓库中. 1.加载jar包 ...

  9. tomcat没有发布maven项目依赖的本地jar包

    建立springMVC的maven项目,平时使用的jar包都是在pom.xml文件配置依赖关系, maven会自动从仓库中下载,这样使用tomcat部署发布都没有问题.但有时我们需要使用maven仓库 ...

随机推荐

  1. 运行Tomcat闪退问题,报的错误:Unsupported major.minor version 51.0

    在MyEclipse中运行tomcat,tomcat闪退并且报以下错误. java.lang.UnsupportedClassVersionError: org/apache/catalina/sta ...

  2. (转)基于MVC4+EasyUI的Web开发框架形成之旅--权限控制

    http://www.cnblogs.com/wuhuacong/p/3361351.html 我在上一篇随笔<基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍>中大 ...

  3. mach-o格式分析

    0x00 摘要 人生无根蒂,飘如陌上尘. 分散逐风转,此已非常身. — 陶渊明 <杂诗> mach-o格式是OS X系统上的可执行文件格式,类似于windows的PE与linux的ELF, ...

  4. 图表库 - Highchart / Echart

    当前主要使用HighChart和Echart图表库,都基于Jquery,需要先引用Jquery. 实际问题:引入Jquery需在图表库前,否则报错. HighChart官网:https://www.h ...

  5. Asp.net Core 源码-SessionExtensions

    using Microsoft.AspNetCore.Http; using Newtonsoft.Json; namespace SportsStore.Infrastructure { publi ...

  6. 安装oracle执行runInstaller文件时报错:“……/install/.oui:Permission denied”

    一:问题描述 二:出错原因 将windows下未解压的Oracle安装软件上传到了linux服务器,导致有三个文件的执行权限丢失. 三:解决方法 为其赋予相应权限即可. 1: [root@MyPc ~ ...

  7. java 常用API 时间 练习

    package com.orcal.demc01; import java.util.Date; public class Xuexi { public static void main(String ...

  8. 功分器 power divider

    之前讲过有了解过耦合器,知道耦合器是矢网测量当中的关键设备 coupler //------------------------------------------------------------ ...

  9. 洛谷P1466 集合 Subset Sums_01背包水题

    不多解释,适当刷刷水… Code: #include<cstdio> #include<algorithm> using namespace std; const int ma ...

  10. Hibernate Session操作

    1.增加 @Test public void add(){ Configuration cfg=new Configuration().configure(); SessionFactory fact ...