=========================================================================================================================html
后文心得附录:【实际操做使用过程当中的使用心得】java
1.对于封装的jar中非提供给外界使用的方法,尽可能将其设置为private算法
2.对于工具类中常常要使用的方法,能够设定为static,这样在使用过程当中不用new一个对象再去引用,能够直接使用类名调用,方便高效!!api
3.maven
=========================================================================================================================ide
有这么一个需求,想要将一个MD5加密的java文件功能类打包为Jar包,能够引入到项目中使用工具
1.先准备一个java文件ui
package com.sxd.util; import sun.misc.BASE64Encoder; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * 天使加密 */ public class AngelEncryption { /** * 主调 方法 * @param str * @return * @throws UnsupportedEncodingException * @throws NoSuchAlgorithmException */ public String angelKey(String str) throws UnsupportedEncodingException, NoSuchAlgorithmException { String newStr = encoderByMd5(str+"Angel's Key"); return newStr; } /**利用MD5进行加密 * @param str 待加密的字符串 * @return 加密后的字符串 * @throws NoSuchAlgorithmException 没有这种产生消息摘要的算法 * @throws UnsupportedEncodingException */ public String encoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException { //肯定计算方法 MessageDigest md5= MessageDigest.getInstance("MD5"); BASE64Encoder base64en = new BASE64Encoder(); //加密后的字符串 String newstr=base64en.encode(md5.digest(str.getBytes("utf-8"))); return newstr; } }
2.将java文件编译为class文件编码
1》【将java文件按照package的路径位置,放在对应的目录下】加密
2》将java文件编译为class文件【要求已经安装了JDK而且配置了环境变量】
【由于文件格式为UTF-8,因此采用下面注明编码方式编译】
3》编译完成以后的目录下
【问题:若是javac命令提示不是内部或外部命令,解决方法:http://www.javashuo.com/article/p-zbnzwfcb-gx.html】
3.接下来就能够使用jar -cvf进行打包了
1》回退到com.sxd.util的最外层
由于在java代码中,最上面的package是以下,因此须要对com层进行打包
2》进入cmd运行打包
3》查看打包出来的jar包以及层级结构
4.如今打包jar包成功了,怎么使用到项目中呢?
1》若是不想将本jar包交给maven管理,那就直接放在项目的lib中,而后build添加进项目的jar包依赖下
2》若是想交给maven管理,能够将jar包上传到maven私服上,而后在pom.xml文件中引用【具体参考:http://www.cnblogs.com/sxdcgaq8080/p/7583767.html】
【下面的流程是在你已经搭建了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文件引入
<!--AngelKey加密--> <dependency> <groupId>sxd.jar</groupId> <artifactId>AngelKey</artifactId> <version>1.1</version> </dependency>
Test.java中使用
package com.agen.util.utils; import com.sxd.util.AngelEncryption; import org.junit.jupiter.api.Test; import java.io.UnsupportedEncodingException; import java.security.NoSuchAlgorithmException; public class AngelKeyTest { @Test public void test() throws UnsupportedEncodingException, NoSuchAlgorithmException { AngelEncryption angelEncryption = new AngelEncryption(); String password = "admin123"; String newStr = angelEncryption.angelKey(password); System.out.println(newStr); } }
能够看到本类的引用路径为
import com.sxd.util.AngelEncryption;
运行结果:
OK完成了!!!!