=========================================================================================================================
后文心得附录:【实际操作使用过程中的使用心得】
1.对于封装的jar中非提供给外界使用的方法,尽量将其设置为private
2.对于工具类中经常要使用的方法,可以设定为static,这样在使用过程中不用new一个对象再去引用,可以直接使用类名调用,方便高效!!
3.
=========================================================================================================================
有这么一个需求,想要将一个MD5加密的java文件功能类打包为Jar包,可以引入到项目中使用
1.先准备一个java文件
packagecom.sxd.util;importsun.misc.BASE64Encoder;importjava.io.UnsupportedEncodingException;importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException;/*** 天使加密*/
public classAngelEncryption {/*** 主调 方法
*@paramstr
*@return*@throwsUnsupportedEncodingException
*@throwsNoSuchAlgorithmException*/
public String angelKey(String str) throwsUnsupportedEncodingException, NoSuchAlgorithmException {
String newStr= encoderByMd5(str+"Angel's Key");returnnewStr;
}/**利用MD5进行加密
*@paramstr 待加密的字符串
*@return加密后的字符串
*@throwsNoSuchAlgorithmException 没有这种产生消息摘要的算法
*@throwsUnsupportedEncodingException*/
public String encoderByMd5(String str) throwsNoSuchAlgorithmException, UnsupportedEncodingException {//确定计算方法
MessageDigest md5= MessageDigest.getInstance("MD5");
BASE64Encoder base64en= newBASE64Encoder();//加密后的字符串
String newstr=base64en.encode(md5.digest(str.getBytes("utf-8")));returnnewstr;
}
}
View Code
2.将java文件编译为class文件
1》【将java文件按照package的路径位置,放在对应的目录下】
2》将java文件编译为class文件【要求已经安装了JDK并且配置了环境变量】
【因为文件格式为UTF-8,所以采用下面注明编码方式编译】
3》编译完成之后的目录下
3.接下来就可以使用jar -cvf进行打包了
1》回退到com.sxd.util的最外层
因为在java代码中,最上面的package是如下,所以需要对com层进行打包
2》进入cmd运行打包
3》查看打包出来的jar包以及层级结构
4.现在打包jar包成功了,怎么使用到项目中呢?
1》如果不想将本jar包交给maven管理,那就直接放在项目的lib中,然后build添加进项目的jar包依赖下
【下面的流程是在你已经搭建了maven私服的情况下再看】
流程如下:
1>cmd指定命令如下
mvn deploy:deploy-file -DgroupId=sxd.jar -DartifactId=AngelKey -Dversion=1.1 -Dpackaging=jar -Dfile=G:\test\AngelKey-1.1.jar -Durl=http://localhost:8081/repository/myself_hosted/ -DrepositoryId=myself_hosted
解释说明如下:
2>执行上面的命令后效果如下
3>查看本地仓库中的jar包是否上传成功
4>上面看不到jar包,那在私服中搜索一下【按照Artfact Id查找】
5>好了,现在在pom.xml文件中引用,在项目中使用该jar包
pom.xml文件引入
sxd.jar
AngelKey
1.1
Test.java中使用
packagecom.agen.util.utils;importcom.sxd.util.AngelEncryption;importorg.junit.jupiter.api.Test;importjava.io.UnsupportedEncodingException;importjava.security.NoSuchAlgorithmException;public classAngelKeyTest {
@Testpublic void test() throwsUnsupportedEncodingException, NoSuchAlgorithmException {
AngelEncryption angelEncryption= newAngelEncryption();
String password= "admin123";
String newStr=angelEncryption.angelKey(password);
System.out.println(newStr);
}
}
可以看到本类的引用路径为
importcom.sxd.util.AngelEncryption;
运行结果:
OK完成了!!!!