=========================================================================================================================
后文心得附錄:【實際操作使用過程中的使用心得】
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完成了!!!!
