`

maven引用第三方jar包·

 
阅读更多

 

maven引用第三方jar包的三种方式

1.将第三方包添加到本地仓库

首先安装maven,配置maven环境,包括环境变量 M2_HOME指向maven安装目录,并在path中添加路径${M2_HOME}/bin。然后使用命令安装第三方jar包,以oracle驱动包为例,使用如下install命令

mvn install:install-file
-Dfile=E:\ojdbc6.jar
-DgroupId=com.oracle
-DartifactId=ojdbc6
-Dversion=11.2.0.1.0
-Dpackaging=jar

 到本地仓库查找,我们看到Maven将这个jar包已经安装到本地Maven仓库中

最后,我们在Maven项目中添加如下Oracle驱动依赖

<!-- 添加oracle驱动依赖 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.1.0</version>
</dependency>

 

2.把jar包放到maven私服上引用

 

3.引用本地jar包

①项目中新建一个目录(比如在项目根目录中新建一个libs文件夹),将需要引用的jar包放入该文件夹

②配置pom文件,按如下格式新增依赖                             :

 

<dependency>
    <groupId>org.openoffice</groupId>
    <artifactId>jodconverter</artifactId>
    <version>2.2.2</version>
    <type>jar</type>
    <scope>system</scope>
    <systemPath>${project.basedir}/libs/jodconverter-2.2.2.jar</systemPath>
</dependency>

 

第三种方式产生的问题

使用第二种方式引用本地jar包,会产生一个问题,那就是打包时引用的本地jar包不会打到生成的jar包或war包这中。原因是maven打包时默认只会打scope为compile的包。解决这个问题也有两种方式

1.将引用的第三方jar包直接放在项目目录 /src/main/webapp/WEB-INF/lib目录下

这种解决办法的原理是,maven会复制包含webapp目录下的文件到target目录中,然后由target打成包,而web项目中使用的jar包就是放在WEB-INF/lib目录下。因此这种处理方式第三方jar包是在资源拷贝阶段复制过去的,而不是依赖处理阶段放进去的。这是一种取巧的做法

2.配置插件,显式声明依赖处理阶段引用这些第三方jar包

处理方式就是在build->plugins标签下添加两个插件配置

 

            //配置compiler插件是为了在编译阶段使用第三方jar包,防止编译出错
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <compilerArguments>
                        <extdirs>${project.basedir}/libs</extdirs> //编译阶段使用这个目录下的jar包
                    </compilerArguments>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        //依赖处理阶段引用scope为system的jar包
                        <configuration>
                            <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory>
                            <includeScope>system</includeScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

 

 

 

分享到:
评论

相关推荐

    spring boot 第三方jar包抽离方案

    通过修改`spring-boot-maven-plugin`的配置,可以排除不需要打包进jar的第三方jar包。可以按maven坐标排除,也可以按组ID排除。在父工程的`etcloud-parent`中定义插件配置,子工程引用父工程配置并可覆盖自定义设置...

    maven打包成第三方jar包且把pom依赖包打入进来的方法

    首先,打包成第三方JAR包且包含依赖的方法通常用到的是Maven Assembly插件,它能够帮助我们把所有依赖的JAR包以及主程序一起打包成一个单独的可执行的超级JAR文件。要完成这个过程,需要以下步骤: 1. 在项目的POM...

    Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中

    通过以上步骤,我们可以轻松地将自定义的或第三方的Jar包安装到本地Maven仓库,并在Spring Boot项目中使用它们。这种方式不仅简化了项目的构建流程,还提高了开发效率。希望本文能帮助大家更好地理解和掌握Spring ...

    打包第三方Jar插件

    确保第三方jar包在构建路径中,才能在编译和运行时正确引用其类和方法。 3. **Eclipse与MyEclipse的类加载机制** - Eclipse和MyEclipse使用OSGi(Open Services Gateway Initiative)框架来管理插件和类加载。OSGi...

    aar包合并打包;module引用第三方aar包;library依赖aar包

    即将aar后缀改为zip,解压出jar包及资源文件(如果有),将jar包及资源文件(如果有)复制到相应的目录,按照jar包的方式集成。如果aar包中有通过R.id./R.layout.等方式调用资源文件,这种集成方式可能会报资源文件...

    jl-1.0.1.jar.zip_jl0.4.jar下载_jl1.0.1.jar_jl1.0.jar下载_第三方Jar包

    “第三方jar包”标签表示这些`.jar`文件不是来自官方Java平台或者标准库,而是由独立开发者或公司创建并维护的。第三方库可以提供各种功能,例如网络通信、数据库连接、图形处理等,它们能帮助开发者快速实现特定...

    maven安装jar包工具

    Maven通过中央仓库下载所需的jar包,使得开发者能够轻松地集成第三方库。然而,有时候我们需要将本地的jar包安装到Maven仓库,以便于在项目中引用,这就是“maven-install-jar-tool”所解决的问题。 “maven-...

    eclipse导出第三方jar包插件fatjar

    - **Libraries**: 这是最重要的部分,你需要添加所有项目依赖的第三方JAR包。点击“Add External JARs…”或“Add JARs…”,选择项目中引用的库文件。 5. 完成上述配置后,点击“Finish”开始导出过程。Eclipse会...

    maven项目引用外部jar包的方法

    当第三方jar包不在Maven中央仓库或者其他可公开访问的仓库中时,一种常见的解决方案是将其上传到公司的Maven私服上。上传后,在pom.xml文件中配置相应的标签,以及在中添加该jar包的引用。这样,Maven就可以在构建...

    Fatjar打包第三方包

    本篇文章将详细解释如何使用Fatjar来打包包含第三方jar包的插件,并在MyEclipse和Eclipse中进行操作。 首先,理解Fatjar的基本概念。Fatjar,又称为“胖Jar”,指的是将所有依赖库(包括第三方jar包)一起打包到...

    Maven 构建 Kettle 时所需的部分jar包

    这些文件可能包括Kettle的核心库、数据库连接驱动、插件以及其他依赖的第三方库。例如,可能有pdi-engine、pdi-core、pdi-kettle-repository等模块的jar文件,这些都是Kettle功能实现的关键组成部分。 构建Kettle...

    myeclipse打包jar文件包含第三方jar包(文档+工具)

    `FatJar`是一个第三方插件,适用于`Eclipse`和`MyEclipse`,它的主要功能是帮助开发者将所有项目依赖的库文件(即第三方JAR包)打包进最终的可执行JAR中。这样,当用户运行这个单一的JAR文件时,不需要额外配置类...

    maven依赖本地jar包

    这种需求在开发过程中并不少见,比如在处理企业内部的私有库或是测试某个尚未发布的第三方库时。本文将深入探讨如何在Maven项目中正确配置依赖于本地非repository中的JAR包。 ### Maven依赖本地JAR包的方法 #### 1...

    Java在制作jar包时引用第三方jar包的方法

    在不恰当引用第三方JAR包的情况下,可能会遇到类找不到的错误。为了正确引用第三方JAR包,需要了解Java类加载器的工作机制以及如何通过JAR包的清单文件(MANIFEST.MF)正确地指定第三方库的位置。 首先,当我们在...

    将jar包添加到本地maven仓库

    这个过程可能通过访问开发者网站、GitHub或其他第三方库来获取。在这个例子中,文件名为"将jar包添加到本地maven仓库@www.java1234.com.pdf",很可能包含了更详细的步骤或说明,但在这里我们将基于一般实践进行解释...

    Android Studio 在项目中引用第三方jar包的方法

    对于使用Android Studio作为IDE的开发者,了解如何正确地引用第三方jar包是至关重要的。下面将详细讲解在Android Studio中引用第三方jar包的步骤。 1. **将jar包放入项目结构** 首先,你需要将下载的第三方jar包...

    如何在Ant中引入第三方Jar包

    以下将详细解释如何在Ant构建文件中配置和使用第三方Jar包。 首先,让我们了解Ant的基本结构。一个Ant项目通常包含一个名为`build.xml`的主配置文件,这个文件定义了所有的构建任务。在`build.xml`中,我们使用`...

    如何在IDEA Maven项目中导入本地jar包的步骤

    这不仅适用于开发过程中需要的自定义库,也适用于那些不通过公共Maven仓库发布的第三方组件。确保正确配置`groupId`、`artifactId`和`version`,这样可以保持项目的整洁性和可维护性。记得,当项目结构或依赖发生...

    Jar打包(解决eclipse无法打包含有第三方架包问题)

    3. **设置打包选项**:在弹出的对话框中,选择要导出的主类(程序入口点),然后在`Libraries`选项卡中添加项目的依赖库,包括所有第三方JAR文件。 4. **生成fat jar**:点击`Finish`,Eclipse会将所有选定的类和库...

    eclipse 打包 jar 碰到的问题(包含第三方包)

    首先,问题的症结在于如何正确地将项目依赖的第三方库包含到JAR文件中。通常,我们创建的Java项目会引用一些外部的jar文件,这些文件位于项目的"lib"目录下。Eclipse在默认情况下,只会打包项目源代码和资源文件,而...

Global site tag (gtag.js) - Google Analytics