【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】
=========================================================================================================================
后文心得附录:【实际操作使用过程中的使用心得】
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的路径位置,放在对应的目录下】
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包依赖下
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完成了!!!!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
适合入门的8个趣味机器学习项目
首发地址:https://yq.aliyun.com/articles/221708 谈到机器学习,相信很多除学者都是通过斯坦福大学吴恩达老师的公开课《Machine Learning》开始具体的接触机器学习这个领域,但是学完之后又不知道自己的掌握情况,缺少一些实际的项目操作。对于机器学习的相关竞赛挑战,有些项目的门槛有些高,参加后难以具体的实现,因此造成自己对机器学习的热情逐渐衰减。大部分都经历过这个过程,一直想找一些练手的项目,最典型的练手项目比如手写体识别等,但这类的项目成熟得不能再成熟了,参考别人的网络模型跑一下实验,结果的准确率都快达到100%,学习调参的机会比较少,因此都想找一些适合初学者的项目练手。那么在本指南中,将给大家带来8个适合初学者学习的有趣的机器学习项目。 将自己的时间花在项目上是最好的一种投资方式,在项目中你会享受学习、保持积极性并取得更快的进展。没有任何理论可以代替实践,虽然教材和课程能让你掌握一些基本原理,但在尝试应用时,你会发现具体操作起来比较困难。因此项目有助于提高应用机器学习的技巧,此外在找工作中也会给自己增添一些筹码。 以下将具体介绍这8个项目,其...
- 下一篇
12月27日云栖精选夜读:实人认证 - 阿里云实人认证(公测)发布
产品介绍: ["“实人认证”服务是阿里巴巴从自身业务发展出来的一项在线身份校验服务,为您提供一套在网络空间中能够非常方便地证明“我是我”的方法,既能保障用户身份真实性,又能提供极致的用户体验。"]产品功能及优势: 实人认证产品当前包含两项服务: 1. 实人认证服务:依托活体检测、人脸比对等生物识别技术、证件 OCR 识别技术、阿里巴巴实人可信模型等进行的自然人真实身份的核验服务。 热点热议 实人认证 - 阿里云实人认证(公测)发布 作者:xuantan 发表在:云知 2017双11技术揭秘—阿里数据库计算存储分离与离在线混布 作者:中间件小哥 发表在:阿里中间件团队 幸得与君为伍 - 阿里云 MVP 三期名单发布 作者:花肉酱发表在:阿里云MVP 知识整理 手把手教你使用TensorFlow生成对抗样本 | 附源码 作者:uncle_ll Nature | 我的研究对后人毫无用途:21%的学术论文自发布后从未被引用 作者:技术小能手 发表在:大数据文摘 网站设计开发维护基本流程 作者:四魔次方 TensorFlow图像分类教程 作者:【方向】 发表在:翻译小组 阿里自研UED计件平台...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)