首页 技术 正文
技术 2022年11月6日
0 收藏 937 点赞 574 浏览 2862 个字

=========================================================================================================================

后文心得附录:【实际操作使用过程中的使用心得】

  1.对于封装的jar中非提供给外界使用的方法,尽量将其设置为private

  2.对于工具类中经常要使用的方法,可以设定为static,这样在使用过程中不用new一个对象再去引用,可以直接使用类名调用,方便高效!!

  3.

=========================================================================================================================

有这么一个需求,想要将一个MD5加密的java文件功能类打包为Jar包,可以引入到项目中使用

1.先准备一个java文件

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的路径位置,放在对应的目录下】

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

  2》将java文件编译为class文件【要求已经安装了JDK并且配置了环境变量】

【因为文件格式为UTF-8,所以采用下面注明编码方式编译】

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

  3》编译完成之后的目录下

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

【问题:如果javac命令提示不是内部或外部命令,解决方法:https://www.cnblogs.com/sxdcgaq8080/p/11765252.html

3.接下来就可以使用jar -cvf进行打包了

  1》回退到com.sxd.util的最外层

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

因为在java代码中,最上面的package是如下,所以需要对com层进行打包

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

  2》进入cmd运行打包

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

  3》查看打包出来的jar包以及层级结构

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

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

解释说明如下:

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

    2>执行上面的命令后效果如下

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

    3>查看本地仓库中的jar包是否上传成功

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

    4>上面看不到jar包,那在私服中搜索一下【按照Artfact Id查找】

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

    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;

运行结果:

【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

OK完成了!!!!

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,484
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,899
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,732
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,485
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,125
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,286