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

简介: =========================================================================================================================后文心得附录:【实际操作使用过程中的使用心得】  1.

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

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

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



}
View Code

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

 

相关文章
|
存储 Java 数据安全/隐私保护
Java技术栈揭秘:Base64加密和解密文件的实战案例
以上就是我们今天关于Java实现Base64编码和解码的实战案例介绍。希望能对你有所帮助。还有更多知识等待你去探索和学习,让我们一同努力,继续前行!
921 5
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
2861 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
3419 8
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
课时103:生成jar文件
本文介绍了Java中生成和使用JAR文件的基本概念与操作。JAR文件用于将多个类文件打包成一个压缩文件,便于管理和分发。通过JDK提供的`jar`命令可以创建JAR文件,并可通过设置CLASSPATH环境变量来配置和使用这些文件。文中还演示了如何定义、编译和打包一个简单的Java程序为JAR文件,并详细解释了JAR文件的结构及配置方法。此外,简要提及了JDK 1.9后引入的模块化系统对JAR文件的影响。
556 1
|
前端开发 JavaScript Java
Java打包jar运行时分离lib和jar
在`pom.xml`的`build`节点中,设置`packaging`为`jar`,并配置插件分离依赖库到`lib`目录和资源文件到`resources`目录。这样可以在运行时通过`-Dloader.path=lib,resources`加载外部依赖和资源文件,便于独立升级依赖库和修改资源文件,而无需重新打包程序。具体插件包括`maven-dependency-plugin`、`maven-resources-plugin`和`spring-boot-maven-plugin`等。
1248 2
|
Java 开发者
修改JAR文件工具
本文介绍了一款名为JarEditor的IDEA插件,该插件允许用户直接对JAR包内的文件进行增删改查操作,无需先行解压。通过简单的安装与使用步骤,大大简化了传统上需要解压缩、反编译、重新编译及打包的过程。此外,JarEditor还支持对混淆过的JAR文件进行字节码级别的修改,并提供了强大的搜索功能,支持大小写、全词匹配和正则表达式搜索。对于开发者而言,这款插件无疑极大提高了处理JAR文件的效率和便捷性。
1804 14
|
Java Maven Android开发
【Azure Developer】VS Code打包Java maven Project 遇见 BUILD FAILURE
Unknown lifecycle phase "lean". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>
842 5
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
1270 4
|
数据采集 分布式计算 Java
Kettle的Java开发环境需要什么jar包?
【10月更文挑战第24天】Kettle的Java开发环境需要什么jar包?
659 2
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
4805 2

热门文章

最新文章