zoukankan      html  css  js  c++  java
  • (转)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地址,格式:zhangsan@zuidaima.com,zhangsan@xxx.com.cn,xxx代表邮件服务商
    6.  
      * @return 验证成功返回true,验证失败返回false
    7.  
      */
    8.  
      public static boolean checkEmail(String email) {
    9.  
      String regex = "\w+@\w+\.[a-z]+(\.[a-z]+)?";
    10.  
      return Pattern.matches(regex, email); }
    11.  
      }

    使用建议:

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

    引入自定义jar方式一:

    1 首先找到你的maven的配置文件{你maven的路径}confsettings.xml,然后打开settings.xml,查看你存放本地jar路径的根目录。例如我的maven根目录是C:Usersuser.m2localRepository。我自己定义的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:Usersuser.m2localRepository  创建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

  • 相关阅读:
    服务器性能调优(netstat监控大量ESTABLISHED连接与Time_Wait连接问题)
    maven/gredle配置阿里云仓库镜像,加速下载maven依赖
    Mac文件上传下载到服务器指定命令
    mysql-管理命令【创建用户、授权、修改密码、删除用户和授权、忘记root密码】
    springmvc返回不带引号的字符串
    maven过滤配置文件
    git常用命令/git 部分高级命令备忘录
    SpringBoot中使用Fastjson/Jackson对JSON序列化格式化输出的若干问题
    修改mysql配置中my.conf中max_allowed_packet变量
    ZK安装、ZK配置、ZK集群部署踩过的大坑
  • 原文地址:https://www.cnblogs.com/wangle1001986/p/9307848.html
Copyright © 2011-2022 走看看