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

  • Post author:
  • Post category:其他




准备工作:


假如我有一个自定义jar是:123456.jar,下载地址

http://download.csdn.net/detail/wabiaozia/9870838


如果不想下载,可以按照

https://jingyan.baidu.com/article/046a7b3ed8b23ef9c27fa9b9.html

操作即可得到jar。


jar包里的源码是:

public class RegexUtils {

	 /**
     * 验证Email
     * @param email email地址,格式:zhangsan@zuidaima.com,zhangsan@xxx.com.cn,xxx代表邮件服务商
     * @return 验证成功返回true,验证失败返回false
     */ 
    public static boolean checkEmail(String email) { 
        String regex = "\\w+@\\w+\\.[a-z]+(\\.[a-z]+)?"; 
        return Pattern.matches(regex, email); }
    } 



使用建议:


建议使用第二种方式引入本地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包

<dependency>  
            <groupId>123456</groupId>  
            <artifactId>123456</artifactId>  
            <version>1.0</version>  
</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中写如下内容

<project> 
  <modelVersion>1.0.0</modelVersion> 
  <groupId>123456</groupId> 
  <artifactId>123456</artifactId> 
  <version>1.0</version> 
</project> 


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

<dependency>  
            <groupId>123456</groupId>  
            <artifactId>123456</artifactId>  
            <version>1.0</version>  
</dependency>



6 如果你的pom.xml报错



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


7 项目代码中使用:

boolean b = RegexUtils.checkEmail(email);


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


jar包的位置


pom.xml中引入

<dependency>
	      <groupId>com.taibao</groupId>
	      <artifactId>Butils</artifactId>
	      <version>1.0</version>
</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>


我博客所有文章链接:


http://blog.csdn.net/wabiaozia?viewmode=contents




引入自定义jar方法三:


<dependency>
            <groupId>org.jasig.cas</groupId>
            <artifactId>cas-server-webapp</artifactId>
            <version>4.2.3</version>
            <type>war</type>
            <!-- 注意scope是system  -->
            <scope>system</scope>
           <!--  <systemPath>C:/Users/ice-wee/Downloads/cas-server-webapp-4.0.3.war</systemPath> -->
            <systemPath>${project.basedir}/suiyijiandewenjianjia/cas-server-webapp-4.0.3.war</systemPath>
            <!-- systemPath 可以写  1 本地路径 也可以写 2 项目根路径,项目根路径不是相对classpath 。 -->
        </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



版权声明:本文为wabiaozia原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。