maven怎么 引入(或引用/使用) 自定义(或本地/第三方) jar的三种方式 图文教程
2018-03-28 10:33
861 查看
准备工作:
假如我有一个自定义jar是:123456.jar,下载地址http://download.csdn.net/detail/wabiaozia/9870838
如果不想下载,可以按照https://jingyan.baidu.com/article/046a7b3ed8b23ef9c27fa9b9.html 操作即可得到jar。
jar包里的源码是:
[html] view plain copy print?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包
[html] view plain copy print?<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中写如下内容
[html] view plain copy print?<project>
<modelVersion>1.0.0</modelVersion>
<groupId>123456</groupId>
<artifactId>123456</artifactId>
<version>1.0</version>
</project>
[html] view plain copy print?<dependency> <groupId>123456</groupId> <artifactId>123456</artifactId> <version>1.0</version> </dependency>
6 如果你的pom.xml报错
然后勾选 force update of snapshots/releases 选项即可。
7 项目代码中使用:
[html] view plain copy print?boolean b = RegexUtils.checkEmail(email);
8 关于groupId,artifactId怎么写再举一例
jar包的位置
pom.xml中引入
[html] view plain copy print?<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可以验证),然后使用如下命令:
[html] view plain copy print?mvn install:install-file -Dfile=D:\ojdbc7.jar -DgroupId=com.tech4j.driver -DartifactId=oracle-connector-java -Dversion=12.1 -Dpackaging=jar
通过这种方式,可以简单快速地将第三方JAR包安装到本地仓库中供Maven项目依赖使用。例如:
[html] view plain copy print?<dependency> <groupId>com.tech4j.driver</groupId> <artifactId>oracle-connector-java</artifactId> <version>12.1</version> </dependency>
引入自定义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项目根目录basedir项目根目录{project.build.directory} 构建目录,缺省为target
project.build.outputDirectory构建过程输出目录,缺省为target/classesproject.build.outputDirectory构建过程输出目录,缺省为target/classes{project.build.finalName} 产出物名称,缺省为project.artifactId−project.artifactId−{project.version}
project.packaging打包类型,缺省为jarproject.packaging打包类型,缺省为jar{project.xxx} 当前pom文件的任意节点的内容
3.2 使用举例
在项目webapp下建一个文件夹(folder):suiyijiandewenjianjia,把cas-server-webapp-4.0.3.war拷到此文件夹
总结:
用第三种方式用systemPath 打包时是不会把jar打到war中的,如果想打到war中可以使用我文中提到的前两种方式。我们项目中一般是缺少某个jar或者某几个jar,从简便和速度效率的角度来说我最推荐的引入本地jar是文中提到的第二种方式。如果缺的jar多的话可以使用批量导入方式,但是并不建议这样做,因为缺少很多jar你首先应该考虑的是,为什么不把环境配好,不让项目缺少那么多jar。
假如我有一个自定义jar是:123456.jar,下载地址http://download.csdn.net/detail/wabiaozia/9870838
如果不想下载,可以按照https://jingyan.baidu.com/article/046a7b3ed8b23ef9c27fa9b9.html 操作即可得到jar。
jar包里的源码是:
[html] view plain copy print?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); }
}
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包
[html] view plain copy print?<dependency> <groupId>123456</groupId> <artifactId>123456</artifactId> <version>1.0</version> </dependency>
<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中写如下内容
[html] view plain copy print?<project>
<modelVersion>1.0.0</modelVersion>
<groupId>123456</groupId>
<artifactId>123456</artifactId>
<version>1.0</version>
</project>
<project> <modelVersion>1.0.0</modelVersion> <groupId>123456</groupId> <artifactId>123456</artifactId> <version>1.0</version> </project>5 在你的项目的pom.xml依赖中引入就行了
[html] view plain copy print?<dependency> <groupId>123456</groupId> <artifactId>123456</artifactId> <version>1.0</version> </dependency>
<dependency> <groupId>123456</groupId> <artifactId>123456</artifactId> <version>1.0</version> </dependency>
6 如果你的pom.xml报错
然后勾选 force update of snapshots/releases 选项即可。
7 项目代码中使用:
[html] view plain copy print?boolean b = RegexUtils.checkEmail(email);
boolean b = RegexUtils.checkEmail(email);
8 关于groupId,artifactId怎么写再举一例
jar包的位置
pom.xml中引入
[html] view plain copy print?<dependency> <groupId>com.taibao</groupId> <artifactId>Butils</artifactId> <version>1.0</version> </dependency>
<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可以验证),然后使用如下命令:
[html] view plain copy print?mvn install:install-file -Dfile=D:\ojdbc7.jar -DgroupId=com.tech4j.driver -DartifactId=oracle-connector-java -Dversion=12.1 -Dpackaging=jar
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项目依赖使用。例如:
[html] view plain copy print?<dependency> <groupId>com.tech4j.driver</groupId> <artifactId>oracle-connector-java</artifactId> <version>12.1</version> </dependency>
<dependency> <groupId>com.tech4j.driver</groupId> <artifactId>oracle-connector-java</artifactId> <version>12.1</version> </dependency>
引入自定义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>
<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项目根目录basedir项目根目录{project.build.directory} 构建目录,缺省为target
project.build.outputDirectory构建过程输出目录,缺省为target/classesproject.build.outputDirectory构建过程输出目录,缺省为target/classes{project.build.finalName} 产出物名称,缺省为project.artifactId−project.artifactId−{project.version}
project.packaging打包类型,缺省为jarproject.packaging打包类型,缺省为jar{project.xxx} 当前pom文件的任意节点的内容
3.2 使用举例
在项目webapp下建一个文件夹(folder):suiyijiandewenjianjia,把cas-server-webapp-4.0.3.war拷到此文件夹
总结:
用第三种方式用systemPath 打包时是不会把jar打到war中的,如果想打到war中可以使用我文中提到的前两种方式。我们项目中一般是缺少某个jar或者某几个jar,从简便和速度效率的角度来说我最推荐的引入本地jar是文中提到的第二种方式。如果缺的jar多的话可以使用批量导入方式,但是并不建议这样做,因为缺少很多jar你首先应该考虑的是,为什么不把环境配好,不让项目缺少那么多jar。
相关文章推荐
- [置顶] maven怎么 引入(或引用/使用) 自定义(或本地/第三方) jar的三种方式 图文教程
- maven怎么 引入(或引用/使用) 自定义(或本地/第三方) jar的三种方式 图文教程
- maven怎么引入自定义(本地/第三方)jar图文教程
- maven怎么 引入自定义jar的三种方式 图文教程
- 三种方式:eclipse的maven项目使用本地磁盘或第三方的jar
- maven使用中央仓库没有的jar包001---Maven自定义上传第三方包到3rd party(第三方无依赖jar和本地扩展类加入maven统一管理)
- Maven提高篇系列之(七)——引入自定义/本地/第三方 的jar
- Maven自定义上传第三方包到3rd party(第三方无依赖jar和本地扩展类加入maven统一管理)
- Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包
- Maven 进阶---自定义工具类,在本地仓库存储并使用 jar
- maven如何引入自定义jar或第三方jar
- maven编译引入本地jar包-解决Maven中使用很多本地jar包的编译问题
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
- maven自定义jar包到本地仓库并使用
- maven 如何设置使用自定义的jar包到自己本地仓库
- 模块module间引用和使用本地maven库的jar包
- 在maven仓库没有对应的jar包时,怎么将本地jar包通过maven引入
- Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包
- maven中引入驱动报错Missing artifact本地引用jar解决办法
- maven 安装本地jar包及怎么引用