(转)maven怎么 引入(或引用/使用) 自定义(或本地/第三方) jar的三种方式 图文教程 方法二最简单

转:https://blog.csdn.net/wabiaozia/article/details/52798194

准备工作:

假如我有一个自定义jar是:123456.jar,下载地址http://download.csdn.net/detail/wabiaozia/9870838

如果不想下载,可以按照https://jingyan.baidu.com/article/046a7b3ed8b23ef9c27fa9b9.html 操作即可得到jar。

jar包里的源码是:

  1. public class RegexUtils {

  2.  

  3.  

    /**

  4.  

    * 验证Email

  5.  

    * @param email email地址,格式:[email protected],[email protected],xxx代表邮件服务商

  6.  

    * @return 验证成功返回true,验证失败返回false

  7.  

    */

  8.  

    public static boolean checkEmail(String email) {

  9.  

    String regex = "\\[email protected]\\w+\\.[a-z]+(\\.[a-z]+)?";

  10.  

    return Pattern.matches(regex, email); }

  11.  

    }

使用建议:

建议使用第二种方式引入本地jar

引入自定义jar方式一:

1 首先找到你的maven的配置文件{你maven的路径}\conf\settings.xml,然后打开settings.xml,查看你存放本地jar路径的根目录。例如我的maven根目录是C:\Users\user\.m2\localRepository。我自己定义的jar只要按照一定的规则放在这个根目录下就行了,下文会具体介绍。

2 假如你自定义的jar包是123456.jar,你想在你项目的pom.xml中这样引入你的jar包

  1. <dependency>

  2.  

    <groupId>123456</groupId>

  3.  

    <artifactId>123456</artifactId>

  4.  

    <version>1.0</version>

  5.  

    </dependency>

3 在你的根目录文件夹下建立如下文件夹

在根目录C:\Users\user\.m2\localRepository\  创建123456文件夹 ---->再创建123456文件夹----->再创建1.0文件夹

最后把123456.jar放到1.0文件夹下

转载请标明链接:http://blog.csdn.net/wabiaozia?viewmode=contents

如下图所示

4 把123456.jar改为123456-1.0.jar,并创建文件123456-1.0.pom。这里注意,创建的文件后缀是点pom而不是点xml(是" . pom"不是".xml")。

然后在123456-1.0.pom中写如下内容

  1. <project>

  2.  

    <modelVersion>1.0.0</modelVersion>

  3.  

    <groupId>123456</groupId>

  4.  

    <artifactId>123456</artifactId>

  5.  

    <version>1.0</version>

  6.  

    </project>

5 在你的项目的pom.xml依赖中引入就行了

  1. <dependency>

  2.  

    <groupId>123456</groupId>

  3.  

    <artifactId>123456</artifactId>

  4.  

    <version>1.0</version>

  5.  

    </dependency>

6 如果你的pom.xml报错

然后勾选 force update of snapshots/releases 选项即可。

7 项目代码中使用:

boolean b = RegexUtils.checkEmail(email);

8 关于groupId,artifactId怎么写再举一例

jar包的位置

pom.xml中引入

  1. <dependency>

  2.  

    <groupId>com.taibao</groupId>

  3.  

    <artifactId>Butils</artifactId>

  4.  

    <version>1.0</version>

  5.  

    </dependency>

引入自定义jar方法二:

参考http://blog.csdn.net/tech4j/article/details/45372263

确保在cmd当中可以正确使用mvn命令(通过mvn -v可以验证),然后使用如下命令:

mvn install:install-file -Dfile=D:\ojdbc7.jar -DgroupId=com.tech4j.driver -DartifactId=oracle-connector-java -Dversion=12.1 -Dpackaging=jar

在这段命令中,-Dfile参数指你自定义JAR包文件所在的路径,并依次指定了自定义的GroupId、ArtifactId和Version信息。

通过这种方式,可以简单快速地将第三方JAR包安装到本地仓库中供Maven项目依赖使用。例如:

<dependency>
       <groupId>com.tech4j.driver</groupId>
       <artifactId>oracle-connector-java</artifactId>
       <version>12.1</version>
</dependency>

引入自定义jar方法三:

  1. <dependency>

  2.  

    <groupId>org.jasig.cas</groupId>

  3.  

    <artifactId>cas-server-webapp</artifactId>

  4.  

    <version>4.2.3</version>

  5.  

    <type>war</type>

  6.  

    <!-- 注意scope是system -->

  7.  

    <scope>system</scope>

  8.  

    <!-- <systemPath>C:/Users/ice-wee/Downloads/cas-server-webapp-4.0.3.war</systemPath> -->

  9.  

    <systemPath>${project.basedir}/suiyijiandewenjianjia/cas-server-webapp-4.0.3.war</systemPath>

  10.  

    <!-- systemPath 可以写 1 本地路径 也可以写 2 项目根路径,项目根路径不是相对classpath 。 -->

  11.  

    </dependency>

3.1 Maven内置变量说明:
${basedir} 项目根目录
${project.build.directory} 构建目录,缺省为target
${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
${project.packaging} 打包类型,缺省为jar
${project.xxx} 当前pom文件的任意节点的内容

3.2 使用举例

项目根路径见图:我博客所有文章链接:http://blog.csdn.net/wabiaozia?viewmode=contents

在项目webapp下建一个文件夹(folder):suiyijiandewenjianjia,把cas-server-webapp-4.0.3.war拷到此文件夹

总结:

用第三种方式用systemPath 打包时是不会把jar打到war中的,如果想打到war中可以使用我文中提到的前两种方式。我们项目中一般是缺少某个jar或者某几个jar,从简便和速度效率的角度来说我最推荐的引入本地jar是文中提到的第二种方式。如果缺的jar多的话可以使用批量导入方式,但是并不建议这样做,因为缺少很多jar你首先应该考虑的是,为什么不把环境配好,不让项目缺少那么多jar。

最后:如何把本地jar一同打到war包中

http://www.cnblogs.com/hzm112567/p/6531654.html

我博客所有文章链接:http://blog.csdn.net/wabiaozia?viewmode=contents

原文地址:https://www.cnblogs.com/wangle1001986/p/9307848.html

时间: 2024-10-10 20:38:24

(转)maven怎么 引入(或引用/使用) 自定义(或本地/第三方) jar的三种方式 图文教程 方法二最简单的相关文章

实现自定义View的三种方式

一.组合控件 组合控件,顾名思义,就是将系统原有的控件进行组合,构成一个新的控件.这种方式下,不需要开发者自己去绘制图上显示的内容,也不需要开发者重写onMeasure,onLayout,onDraw方法来实现测量.布局以及draw流程.所以,在实现自定义view的三种方式中,这一种相对比较简单. 实际开发中,标题栏就是一个比较常见的例子.因为在一个app的各个界面中,标题栏基本上是大同小异,复用率很高.所以经常会将标题栏单独做成一个自定义view,在不同的界面直接引入即可,而不用每次都把标题栏

【Android进度条】三种方式实现自定义圆形进度条ProgressBar

一.通过动画实现 定义res/anim/loading.xml如下: [html] view plaincopyprint? <?xml version="1.0" encoding="UTF-8"?> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> &

Maven打jar包的三种方式

Maven打jar包的三种方式 不包含依赖jar包 该方法打包的jar,不包含依赖的jar包,也没有指定入口类. <build> <plugins> <plugin> <!-- 指定项目编译时的java版本和编码方式 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <

eclipse 项目引入第三方jar包 3种方法

我们在用Eclipse开发程序的时候,经常要用到第三方jar包.引入jar包不是一个小问题,由于jar包位置不清楚,而浪费时间.下面配图说明3种Eclipse引入jar包的方式. 1.最常用的普通操作方式:基本步骤式 右击"项目"→选择Properties,在弹出的对话框左侧列表中选择Java Build Path,如下图所示:选择Add External JARs,就可以逐个(也可以选择多个jar,但是限制在同一个文件夹中)添加第三方引用jar包. 上面这种方式的操作具有通用性,但是

使用Nexus管理Maven仓库时,上传带依赖的第三方jar

总所周知,使用Maven构建非常方便.在企业中使用Nexus创建私服来管理Maven时,需要上传很多没有开放源码的第三方Jar包.本文将讲述当第三方Jar包有很多并且互相有依赖时如何上传. 核心操作 自己编写POM 确保上传所有依赖 步骤 当需要导入DB2驱动时,需要db2jcc.jar,而db2jcc.jar又要依赖db2jcc_license_cu.jar,此时,导入方式如下 1.编写POM 手动编写db2jcc.jar的pom.xml,如下: <project ...> <mode

Android 三种方式实现自定义圆形进度条ProgressBar

一.通过动画实现 定义res/anim/loading.xml如下: <?xml version="1.0" encoding="UTF-8"?> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration=&qu

自定义php开发环境搭建以及两种方式的比较总结

php的开发环境搭建有两种,一种是自定义的方式,另一种是集成安装包的方式,后一个的难度要比第一个的搭建难度小的很多,就是直接安装的方式,具体的配置信息已经由别人处理好了,但是,第二种利用集成方式的却有着很大的诟病: 1:第一是,版本无法得到充分的更新,导致环境老化,以前觉得版本的新老和开发没有太大的关系,但后来才发现,老版本对于新生的流行技术支持力度是远远不够的,如php低于5.2的版本对于zend框架的支持会很弱,这可是要命的事,就意味着学不了框架....这么说,如果是自定义安装呢,可以大大的

Android 三种方式实现自定义圆形页面加载中效果的进度条

转载:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=76872 一.通过动画实现 定义res/anim/loading.xml如下: [java] view plaincopy <?xml version="1.0" encoding="UTF-8"?> <animation-list android:oneshot="false" xmlns:androi

CSS基础知识总结之css样式引用的三种方式

在html中增加css样式有三种: 1.在标签中增加style属性: <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/html"> <head> <meta charset="UTF-8"> <title>天蓝蓝</title> <!--tag标签的图标--> <link rel=&