引入classfinal maven 插件实现对jar包的加密

这篇具有很好参考价值的文章主要介绍了引入classfinal maven 插件实现对jar包的加密。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概要

我使用的项目为微服务项目

整体流程

  1. 明确所有需要加密的jar包:
    可以通过maven的package指令,查看日志,后缀为jar的即为所有需要加密的jar包。

  2. 在跟pom文件的properties属性中定义classfinal maven插件的属性值

        <!--classfinal插件版本-->
        <classfinal.version>1.2.1</classfinal.version>
        <!--要加密jar文件名(可为空,多个用","分割)-->
        <classfinal.libjars>
            fscloud-common-core-2.5.0.jar,
            fscloud-api-system-2.5.0.jar,
            fscloud-common-redis-2.5.0.jar,
            fscloud-common-security-2.5.0.jar,
            fscloud-auth-2.5.0.jar,
            fscloud-gateway-2.5.0.jar,
            fscloud-visual-monitor-2.5.0.jar,
            fscloud-common-datasource-2.5.0.jar,
            fscloud-common-datascope-2.5.0.jar,
            fscloud-common-log-2.5.0.jar,
            fscloud-common-swagger-2.5.0.jar,
            fscloud-modules-system-2.5.0.jar,
            fscloud-modules-gen-2.5.0.jar,
            fscloud-modules-job-2.5.0.jar,
            fscloud-modules-file-2.5.0.jar,
            fscloud-news-2.5.0.jar,
            fscloud-fservices-2.5.0.jar
        </classfinal.libjars>
        <!--加密密码,如果是#号,则使用无密码模式加密-->
        <classfinal.password>1234</classfinal.password>
        <!--需要加密的配置文件,一般是classes目录下的yml或properties文件(可为空,多个用","分割)-->
        <classfinal.cfgfiles> </classfinal.cfgfiles>
        <!--加密的包名(可为空,多个用","分割)-->
        <classfinal.packages>com.fscloud</classfinal.packages>
        <!--排除的类名(可为空,多个用","分割)-->
        <classfinal.excludes>org.spring</classfinal.excludes>
  1. 在各个需要加密的服务的pom文件中引入classfinal maven 插件,放在plugins标签里面
     <plugin>
          <!-- https://gitee.com/roseboy/classfinal -->
          <groupId>net.roseboy</groupId>
          <artifactId>classfinal-maven-plugin</artifactId>
          <version>${classfinal.version}</version>
          <configuration>
              <password>${classfinal.password}</password><!--加密打包之后pom.xml会被删除,不用担心在jar包里找到此密码-->
              <packages>${classfinal.packages}</packages>
              <cfgfiles>${classfinal.cfgfiles}</cfgfiles>
              <excludes>${classfinal.excludes}</excludes>
              <libjars>${classfinal.libjars}</libjars>
          </configuration>
          <executions>
              <execution>
                  <phase>package</phase>
                  <goals>
                      <goal>classFinal</goal>
                  </goals>
              </execution>
          </executions>
      </plugin>
  1. 引入完成后,直接使用maven的package指令进行打包,加密的jar包为 ***-encrypted.jar 格式。
  2. 启动
java -javaagent:yourpaoject-encrypted.jar="-pwd 1234" -jar yourpaoject-encrypted.jar

//参数说明
// -pwd      加密项目的密码  
// -pwdname  环境变量中密码的名字

// 也可以使用下面的方式,在控制台输入密码启动
java -javaagent:yourpaoject-encrypted.jar -jar yourpaoject-encrypted.jar

注意:引号为双引号,如果写成了单引号会导致启动失败文章来源地址https://www.toymoban.com/news/detail-858676.html

到了这里,关于引入classfinal maven 插件实现对jar包的加密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在maven项目中引入本地jar包

    1、在项目个目录下创建libs文件夹,放入jar包 2、打开File — Project Structure 3、点击Libraries,点击“+”,选择Java 4、选择jar包,点击OK 5、修改pom文件

    2024年02月11日
    浏览(40)
  • maven项目引入私有jar,并打包到java.jar中

    私有jar存放位置 maven依赖 maven build

    2024年03月11日
    浏览(65)
  • Maven项目中如何引入本地的jar包

    方法一 、 直接在pom文件中添加 方法二、手动通过添加jar包的方式加入 把jar包下载到本地,不知道jar包的groupId, artifactId等信息,则可采用此方法。 新建lib包,之后导入(直接build path)(idea:File→project structure→libraries→+jar包 , 选择java,然后选择本地的jar即可)

    2024年02月14日
    浏览(44)
  • 解决引入spire.doc.free-3.9.0.jar导致spring boot项目无法使用maven的install问题

    问题背景: 在一个项目中需求中需要导出一个word模板,那之前有做过一个这个类似需求,这次使用的是freemarker模版。在引入spire.doc.free-3.9.0.jar依赖的时候发现maven依赖报红色,悬浮提示aliyun找不到改包,没有太在意这个部分,本地能够正常使用。本地仓库存在这个jar包,并

    2024年02月15日
    浏览(52)
  • Golang项目中如何轻松实现私有仓库pkg包的引入

    在企业内部创建一个公共的Golang模块工程可以帮助提高代码复用性和开发效率。本文将从如何创建一个公共的Golang工程开始,指导你一步步创建它、并引入到你的工程中。 下面是一个简单的步骤指南来创建这样一个公共模块项目。 创建版本控制仓库:使用版本控制工具(如

    2024年02月13日
    浏览(36)
  • Maven工程打jar包的N种方式

    内容 :此种方式可以自己选择制作胖包或者瘦包,但推荐此种方式制作瘦包。 输出 :输出目录在out目录下 流程步骤 : 第一步: 依次选择 file-projecct structure-artifacts-点击+ (选择jar)-选择 from module with dependencies 第二步:弹出窗口中指定Main Class,是否选择依赖jar包,是否包含测

    2024年02月08日
    浏览(45)
  • 使用IDEA和Maven打包Jar包的详细方法

    使用IDEA和Maven打包Jar包的详细方法 在大数据开发中,使用IDEA和Maven进行项目管理和打包是常见的做法。本文将详细介绍如何使用IDEA和Maven打包Jar包,并提供相应的源代码。 步骤1:创建Maven项目 首先,我们需要在IDEA中创建一个Maven项目。在IDEA的欢迎界面中,点击\\\"Create New Pr

    2024年02月06日
    浏览(53)
  • Idea maven安装及卸载本地jar包的正确方法

    本地jar包位置:     直接从本地仓库删除下面对应文件夹即可:   无法从中央仓库下载依赖包; 打开cmd窗口,执行下面命令即可:      

    2024年02月15日
    浏览(52)
  • maven无法从阿里云中央仓库下载jar包的解决方法

    这个方法不一定适用于所有人。 问题描述:启动公司的SpringBoot项目时,maven爆红提示从阿里云中央仓库找不到目标jar包,但我本地maven仓库是有这个jar包的(版本也对的上),我就好奇maven为什么不从本地获取jar包呢?于是目标jar包本地仓库的路径发现:该jar包的路径下有一

    2024年02月11日
    浏览(47)
  • 【Maven】依赖管理—导入jar包的三种方式、依赖范围设置

    一、使用坐标导入 jar 包  二、使用坐标导入 jar 包 – 快捷方式  三、使用坐标导入 jar 包 – 自动导入  四、依赖范围 1、在 pom.xml 中编写 dependencies 标签 2、在 dependencies 标签中 使用 dependency 引入坐标 3、定义坐标的 groupId,artifactId,version 4、点击刷新按钮,使坐标生效 1、

    2024年02月16日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包