Java代码混淆器有哪些常见问题

Java代码混淆器常见问题有:1、混淆执行生命周期;2、java.sql.SQLException: Column ‘j’ not found;3、Bean的名字冲突。混淆执行生命周期是指,该项目在maven中配置了一个插件,在process-classes周期中将一部分代码单独打成另外一个jar包,并且将该jar包复制到lib目录。

一、混淆执行生命周期

该项目在maven中配置了一个插件,在process-classes周期中将一部分代码单独打成另外一个jar包,并且将该jar包复制到lib目录。

如果在package阶段进行混淆,会导致单独打出来的jar没有被混淆(当然应该也可以配置option指定将lib中的jar包进行混淆,我没有这么试过),所以我将混淆的生命周期同样设为了process-classes并放到同属于该周期的插件的最前面,将字节码文件进行混淆之后再进行其他操作。在process-classes是进行混淆并输出到classes文件夹还有个好处,方便直接用idea启动项目进行调试。

二、java.sql.SQLException: Column ‘j’ not found:

Entity类中的属性也被混淆了,由于hibernate属性映射列名,导致进行查询的时候找不到对应的列名。所以要混淆避免Entity类,-keep class **.model.**{*},这里根据自己的Entity类的路径填写即可。

三、Bean的名字冲突

不同包下的类文件可能会混淆出同名的字节码文件,当spring注册bean的时候,beanname默认是类名。更改beanname的生成策略,可以改为全类名。生成全类名之后,项目中有一段代码也报错了,SpringContextHolder.getBean(“xxx”),参数修改为xxx.class.getName()。

延伸阅读

Java是什么

Java 是一个通用术语,用于表示 Java 软件及其组件,包括“Java 运行时环境 (JRE)”、“Java 虚拟机 (JVM)”以及“插件”。

Java具有大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的形式和感觉,但它要比C++语言更易于使用,而且在编程时彻底采用了一种以对象为导向的方式。

Java版本指的是 Java 系列和更新编号。示例:在网站上或者 Windows 程序中,版本显示为 Java 8 Update 25。旧版本也可显示为 1.7.0_65,这表示 Java 7 Update 65。

文章标题:Java代码混淆器有哪些常见问题,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/51752

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年5月10日
下一篇 2023年5月10日

相关推荐

  • java是怎么把图文夹杂的文章存储在数据库里面

    前台用富文本编辑控件,本质就是用HTML 实现 加粗、字号大小、前景、背景色等效果。后台就简单了将这些HTML片段存入数据库大字段就好了。其他需要显示文本的界面读取出来直接通过JS append到div里。 一般都是这样的,就是在你服务器有一个专门放置的文件夹,然后数据库保存的是你服务器的路径。需要…

    2023年5月29日
    8300
  • 适用于企业和个人的优异文档管理系统软件分别有哪些

    适用于企业和个人的优异文档管理系统软件分别有:1.PingCode;2.Worktile;3.坚果云;4.Gitbook;5.MediaWiki;6.腾讯文档;7.Confluence;8.Notion;9.语雀;10.飞书文档。个人文档管理软件主要用于笔记等管理,而企业文档管理系统则是为了企业内部…

    2023年2月28日
    57400
  • 写脚本可以用什么编程语言

    写脚本可以用以下几个编程语言:1、Java;2、Python;3、JavaScript;4、C和/或C++;5、Scala。其中,Java是指,Java是过去20年中最流行的语言之一,它控制着服务器端应用程序开发的世界。 一、Java Java是过去20年中最流行的语言之一,它控制着服务器端应用程序…

    2023年3月18日
    1.2K00
  • 图解固件、驱动、软件的区别是什么

    固件(Firmware)就是写入 ROM (只读存储器)中的程序,固件担任着一个系统最基础最底层工作。驱动(Drive):驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。与硬件不同,软件是运行在电脑里,看不见摸不着。 一、固件 固件(Firmware)就是写入 ROM (只读存储…

    2023年4月30日
    16600
  • linux解压文件命令

    linux解压文件的命令:1、tar命令;2、rar命令;3、zip命令。tar命令是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。不过tar命令并不是真的解压缩的处理者,而是使用了gzip或者bzip2等其它命令来达成。 1、tar命令 释义:tar命令是用来建立,还原备份文…

    2023年3月17日
    31100
  • dns服务器是什么

    dns服务器是指域名服务器,是进行域名和与之相对应的IP地址转换的服务器,它是一种管理名字的方法,这种方法是分不同的组来负责各子系统的名字,系统中的每一层叫做一个域,每个域用一个点分开,dns实际上就是装有域名系统的主机,它是一种能够实现名字解析的分层结构数据库。 一、dns服务器是什么 dns服务…

    2023年7月22日
    6700
  • 低代码:如何实现程序集成

    企业在使用不同的应用程序时,经常会遇到不同应用程序进行协作时出现流通障碍的情况。这对企业业务的正常流转产生了一定阻力。而使用Zoho Creator创建出的应用程序,可以轻松和一系列第三方应用程序进行深度集成,帮助企业提高业务效率。

    2023年7月10日
    6800
  • 有哪些比较好的测试用例管理工具

    比较好的测试用例管理工具:1、PingCode;2、TestRail;3、Jira;4、PractiTest;5、Kualitee;6、Zephyr Enterprise;7、 禅道;8、MeterSphere;9、Bugzilla;10、Tes较好ia。其中,PingCode 是国内的一站式软件研…

    2023年1月1日
    15800
  • 数据库中经常提到的OLTP、OLAP分别是指什么

    OLTP是指在线事务处理。它主要用于处理日常业务操作,如银行转账、订单处理、库存管理等。OLAP是指在线分析处理。它主要用于支持决策分析和数据挖掘等应用场景。OLAP系统通常是基于多维数据模型技术实现的,它的主要特点是高性能、高灵活性和高可视化。 OLTP OLTP是指在线事务处理。它主要用于处理日…

    2023年5月31日
    14900
  • web中有哪些插件

    web中有一下常见插件:1、underscore.js;2、Watch.js;3、axios;4、JSDoc;5、BigDecimal.js。Underscore是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象。 1、unde…

    2023年1月16日
    14000

发表回复

登录后才能评论
联系我们
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部