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.2.jar -DgroupId=ffmpegjave -DartifactId=java-ffmpegjave -Dversion=1.0.2 -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.2</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.0</modelVersion>
  <parent>
    <groupId>com.watch.parent</groupId>
    <artifactId>children-watch-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <!-- 公共项目 -->
  <groupId>com.watch.commons</groupId>
  <artifactId>children-watch-commons</artifactId>
  <version>0.0.1-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.2</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.2</version>
                        <packaging>jar</packaging>
                        <file>${basedir}/lib/java-ffmpegjave-1.0.2.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.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.2</version>
          <packaging>jar</packaging>
          <file>${basedir}/lib/java-ffmpegjave-1.0.2.jar</file>
            </configuration>
        </execution>
    </executions>
</plugin>

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

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

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

原文地址:https://www.cnblogs.com/iathanasy/p/8566908.html

时间: 2024-11-05 15:54:29

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

groovy+idea+Maven项目加载自身jar包

<dependency> <groupId>fishman</groupId> <artifactId>JMJ_API</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/lib/JMJ_API.jar</systemPath> </depend

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

这次一个项目用到maven编译,我在本地开发的时候jar包都是放在WEB-INF/lib目录下,通过 BuildPath将jar包导入,然后用MyEclipse中的:maven package命令打成war包,这个war包在tomcat下能正常运行,war包下是有lib下的jar包的. 但是我往服务器上传的是项目源码,用SVN上传,然后服务器上用maven插件编译运行,编译时报错:找不到WEB-INF/lib下jar包.显然maven编译时不会自动加载WEB-INF/lib下的jar包. 项目的

Gradle加载本地jar包

有时,我们需要的jar包不一定能在远程仓库中找到,这时我们需要加载本地的jar包. 加载单独的jar包 在项目底下添加libs目录,将jar包仍进libs目录 build.gradle配置如下: dependencies { compile files('lib/ojdbc-14.jar')} 加载某个目录的jar包 在自己的 Gradle 项目里建立一个名为 libs (这个名字可以自己定义,不一定非要叫这个名字)的文件夹,把自己本地的 jar 包拷贝到这个文件夹中. build.gradle

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

开发工具:STS(Spring Tool Suite) 建立springMVC的maven项目,平时使用的jar包都是在pom.xml文件配置依赖关系, maven会自动从仓库中下载,这样使用tomcat部署发布都没有问题.但有时我们需要使用maven仓库中不存在的包,这就需要自己配置. 右键单击工程名—>Build Path—>Configure Build Path—>Java Build Path—>Add JARs/Add External JARs,将需要的jar包加进去

向maven项目中添加本地jar包

1.将本地jar包先选择一个文件夹保存 2.选择项目,选择import,然后选择Install or deply an artifact to a Maven reposeitory,点击next,如图: 3.如图操作: 4.点击finish 5.更新maven 原文地址:https://www.cnblogs.com/Life-is-Demo/p/10949978.html

Maven项目加载JAR包

登陆网站找jar包:http://mvnrepository.com/ 1.http://mvnrepository.com/artifact/net.sf.jxls/jxls-core/1.0.6 点击"maven"复制里边的配置如下图: 2.打开项目中pom.xml文件,把1中复制的信息粘贴到里边 3.pom.xml右键-->run as-->3 Maven clean 4.pom.xml右键-->run as-->5 Maven install

Maven项目中使用本地JAR包

将jar包安装到本地repository中 mvn install:install-file -Dfile=my-jar.jar -DgroupId=org.richard -DartifactId=my-jar -Dversion=1.0 -Dpackaging=jar 3. 添加 in project repository,在新机器上执行时就不用运行mvn install:install-file命令了 <repository> <id>in-project</id>

maven打包时包含本地jar

项目中需要使用maven的打包工具,生成zip压缩包,使用的插件是assembly-plugin.因为一些特殊的原因,需要使用一些本地的jar进行依赖,加载外部jar后编码过程中没有任何问题,但是打包时一直报"程序包不存在". 思考一下:Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所以虽然在开发过程中项目正常依赖没有任何问题,但是打包的时候肯定就找不到本地的jar了. 这种问题有很多解决方案,比如加入本地仓库.搭建maven私服等,如需这些解决方案自行谷歌百度,

World Wind Java开发之八——加载本地缓存文件构建大范围三维场景

上一篇博客主要是针对小文件直接导入WW中显示,然而当文件特别大时,这种方式就不太可行.因此要将大文件切片,生成本地缓存,WW可以加载本地缓存文件,保障浏览场景时的流畅性. 1.使用Global Mapper生成WW缓存切片 使用Global Mapper生成WW缓存切片的步骤已上传至使用GlobalMapper生成WW缓存切片,这里不再赘述.生成后的切片可以放在任意文件夹下,目前参考了WWJ自带的例子InstallImageryAndElevationsDemo,暂时将数据放在C:\Progra