【jar】JDK將單個的java文件打包爲jar包,並引用到項目中使用【MD5加密】

=========================================================================================================================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;
    }



}
View Code

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完成了!!!!

相關文章
相關標籤/搜索