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-maven-plugin`的配置,可以排除不需要打包进jar的第三方jar包。可以按maven坐标排除,也可以按组ID排除。在父工程的`etcloud-parent`中定义插件配置,子工程引用父工程配置并可覆盖自定义设置...
首先,打包成第三方JAR包且包含依赖的方法通常用到的是Maven Assembly插件,它能够帮助我们把所有依赖的JAR包以及主程序一起打包成一个单独的可执行的超级JAR文件。要完成这个过程,需要以下步骤: 1. 在项目的POM...
通过以上步骤,我们可以轻松地将自定义的或第三方的Jar包安装到本地Maven仓库,并在Spring Boot项目中使用它们。这种方式不仅简化了项目的构建流程,还提高了开发效率。希望本文能帮助大家更好地理解和掌握Spring ...
确保第三方jar包在构建路径中,才能在编译和运行时正确引用其类和方法。 3. **Eclipse与MyEclipse的类加载机制** - Eclipse和MyEclipse使用OSGi(Open Services Gateway Initiative)框架来管理插件和类加载。OSGi...
即将aar后缀改为zip,解压出jar包及资源文件(如果有),将jar包及资源文件(如果有)复制到相应的目录,按照jar包的方式集成。如果aar包中有通过R.id./R.layout.等方式调用资源文件,这种集成方式可能会报资源文件...
Maven通过中央仓库下载所需的jar包,使得开发者能够轻松地集成第三方库。然而,有时候我们需要将本地的jar包安装到Maven仓库,以便于在项目中引用,这就是“maven-install-jar-tool”所解决的问题。 “maven-...
- **Libraries**: 这是最重要的部分,你需要添加所有项目依赖的第三方JAR包。点击“Add External JARs…”或“Add JARs…”,选择项目中引用的库文件。 5. 完成上述配置后,点击“Finish”开始导出过程。Eclipse会...
当第三方jar包不在Maven中央仓库或者其他可公开访问的仓库中时,一种常见的解决方案是将其上传到公司的Maven私服上。上传后,在pom.xml文件中配置相应的标签,以及在中添加该jar包的引用。这样,Maven就可以在构建...
“第三方jar包”标签表示这些`.jar`文件不是来自官方Java平台或者标准库,而是由独立开发者或公司创建并维护的。第三方库可以提供各种功能,例如网络通信、数据库连接、图形处理等,它们能帮助开发者快速实现特定...
本篇文章将详细解释如何使用Fatjar来打包包含第三方jar包的插件,并在MyEclipse和Eclipse中进行操作。 首先,理解Fatjar的基本概念。Fatjar,又称为“胖Jar”,指的是将所有依赖库(包括第三方jar包)一起打包到...
`FatJar`是一个第三方插件,适用于`Eclipse`和`MyEclipse`,它的主要功能是帮助开发者将所有项目依赖的库文件(即第三方JAR包)打包进最终的可执行JAR中。这样,当用户运行这个单一的JAR文件时,不需要额外配置类...
这些文件可能包括Kettle的核心库、数据库连接驱动、插件以及其他依赖的第三方库。例如,可能有pdi-engine、pdi-core、pdi-kettle-repository等模块的jar文件,这些都是Kettle功能实现的关键组成部分。 构建Kettle...
这种需求在开发过程中并不少见,比如在处理企业内部的私有库或是测试某个尚未发布的第三方库时。本文将深入探讨如何在Maven项目中正确配置依赖于本地非repository中的JAR包。 ### Maven依赖本地JAR包的方法 #### 1...
在不恰当引用第三方JAR包的情况下,可能会遇到类找不到的错误。为了正确引用第三方JAR包,需要了解Java类加载器的工作机制以及如何通过JAR包的清单文件(MANIFEST.MF)正确地指定第三方库的位置。 首先,当我们在...
这个过程可能通过访问开发者网站、GitHub或其他第三方库来获取。在这个例子中,文件名为"将jar包添加到本地maven仓库@www.java1234.com.pdf",很可能包含了更详细的步骤或说明,但在这里我们将基于一般实践进行解释...
对于使用Android Studio作为IDE的开发者,了解如何正确地引用第三方jar包是至关重要的。下面将详细讲解在Android Studio中引用第三方jar包的步骤。 1. **将jar包放入项目结构** 首先,你需要将下载的第三方jar包...
以下将详细解释如何在Ant构建文件中配置和使用第三方Jar包。 首先,让我们了解Ant的基本结构。一个Ant项目通常包含一个名为`build.xml`的主配置文件,这个文件定义了所有的构建任务。在`build.xml`中,我们使用`...
这不仅适用于开发过程中需要的自定义库,也适用于那些不通过公共Maven仓库发布的第三方组件。确保正确配置`groupId`、`artifactId`和`version`,这样可以保持项目的整洁性和可维护性。记得,当项目结构或依赖发生...
3. **设置打包选项**:在弹出的对话框中,选择要导出的主类(程序入口点),然后在`Libraries`选项卡中添加项目的依赖库,包括所有第三方JAR文件。 4. **生成fat jar**:点击`Finish`,Eclipse会将所有选定的类和库...
首先,问题的症结在于如何正确地将项目依赖的第三方库包含到JAR文件中。通常,我们创建的Java项目会引用一些外部的jar文件,这些文件位于项目的"lib"目录下。Eclipse在默认情况下,只会打包项目源代码和资源文件,而...