【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》编译完成之后的目录下

【问题:如果javac命令提示不是内部或外部命令,解决方法:https://www.cnblogs.com/sxdcgaq8080/p/11765252.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完成了!!!!
【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】的更多相关文章
- 把java文件打包成.jar (jar命令详解)
把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...
- 使用Eclipse把java文件打包成jar 含有第三方jar库的jar包
使用Eclipse把java文件打包成jar 含有第三方jar库的jar包 网上打包说用eclipse安装fat jar插件,但是貌似现在都不能用了,所以我只能按照eclipse自带的方法打包了. ...
- 使用命令将单个java文件打包为jar
思路:先将java文件编译为class文件,然后再打包为jar 参考博文:https://www.cnblogs.com/sxdcgaq8080/p/8126770.html http://www.m ...
- 使用Eclipse把java文件打包成jar
本例仅限于要打包的文件没有使用第三方的jar包 在要打包的包或者文件上右键-Export 这里有一些选项: Export generated class files and resources 表示只 ...
- 用命令行将Java程序打包为jar文件
如何把写好的Java程序打包为jar文件呢?有两种方式可以选择 1.命令行的方式: 打包jar cf JAR文件名称 程序文件名称或者程序所在的文件夹举例:jar cf MyApp.jar D:Jav ...
- java代码打包成jar以及转换为exe
教你如何把java代码打包成jar文件以及转换为exe可执行文件 1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有 ...
- 如何将class文件打包成jar 这里提供两种方式!
原地址:http://blog.163.com/09zzy@126/blog/static/711976652011101001530/ 如何将class文件打包成jar文件,这是一个很严肃的问题,当 ...
- Ubuntu下将现有的文件打包成deb包
转自:http://www.linuxidc.com/Linux/2008-04/12297.htm deb是Debian Linux的软件包格式.一般来说是需要通过编译源码然后制作deb包,今天由于 ...
- java中使用MD5加密的算法
MD5,全名Message Digest Algorithm 5,中文名为消息摘要算法第五版,为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.以下是JAVA语言中使用MD5加密的工具 ...
随机推荐
- POJ 3281 网络流 拆点 Dining
题意: 有F种食物和D种饮料,每头牛有各自喜欢的食物和饮料,而且每种食物或者饮料只能给一头牛. 求最多能有多少头牛能同时得到它喜欢的食物或者饮料. 分析: 把每个牛拆点,中间连一条容量为1的边,保证一 ...
- 【Netty】Netty入门之WebSocket小例子
服务端: 引入Netty依赖 <!-- netty --> <dependency> <groupId>io.netty</groupId> <a ...
- LPSTR LPCSTR LPWSTR LPCWSTR区别
LPSTR 一个32位的指向字符串的指针 LPCSTR 一个32位的指向字符串常量的指针 LPWSTR 一个32位的指向unicode字符串的指针 LPCWSTR 个 ...
- selenium - Js处理滚动条操作
# 11.Js处理滚动条操作 driver.execute_script('arguments[0].scrollIntoView();',target) target 为find_element_b ...
- 深度学习:Sigmoid函数与损失函数求导
1.sigmoid函数 sigmoid函数,也就是s型曲线函数,如下: 函数: 导数: 上面是我们常见的形式,虽然知道这样的形式,也知道计算流程,不够感觉并不太直观,下面来分析一下. 1.1 ...
- [uiautomator篇] 使用uiautomator需要导入uiautomator库
1 修改依赖文件:build/gradle( 是在app目录下)而不是和app同级目录的build/gradle androidTestCompile 'com.android.support.tes ...
- ICCID
ICCID:Integrate circuit card identity 集成电路卡识别码(固化在手机SIM卡中) ICCID为IC卡的唯一识别号码,共有20位数字+英文组成,其编码格式为:XXX ...
- 连通图 poj2186 最受欢迎的牛(求最受欢迎的牛的数量)
Popular Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 27531 Accepted: 11077 De ...
- 九度oj 题目1496:数列区间
题目描述: 有一段长度为n(1<=n<=1000000)的数列,数列中的数字从左至右从1到n编号.初始时数列中的数字都是0. 接下来我们会对其进行m(1<=m<=100000) ...
- 《分布式对象存储》作者手把手教你写 GO 语言单元测试!
第一部分:如何写Go语言单元测试 Go语言内建了单元测试(Unit Test)框架.这是为了从语言层面规范写UT的方式. Go语言的命名规则会将以_test.go结尾的go文件视作单元测试代码. 当我 ...