java编译后出现:类名$1.class和 $2.class

createh56个月前 (12-22)技术教程59

起因:更改了某个类,加了两个java 的comparator比较器,通过内部类的方式实现。因为仅改了一个类所以后面发布的时候就采用增量发布,直接替换.class并重启服务器,之后访问与该类相关接口都会报错说找不到xxxx$1.class 和xxxx$2.class。

解决:查看重编译后的文件夹确实有编译出xxxx$1.class 和xxxx$2.class文件,将两个文件也一同发布后重启服务器,恢复正常。


结论:java编译后的文件名字带有$接数字的就是匿名内部类的编译结果。全量发布的时候可以不会发现缺少,但如果做增量发布,又有使用到内部类就需要把相应的xxxx$1.class 和xxxx$2.class一起发布,本次使用了两个内部类所以产生了两个文件。

相关文章

Java:如何编写更好的Java代码的有用技巧

  我们可以在一个平台上编写 Java 代码并在另一个平台上运行,它是一种通用语言,具有广泛的应用,它用于移动和桌面应用程序开发、大数据处理、嵌入式系统等。  编写好的 Java 代码的最佳技巧  目...

带你入门Java之每日3分钟Java——编写你的第一个Java程序

接着上期带你入门Java之每日3分钟Java——初识Java我们在已经完成Java运行环境配置的前提下,开始着手学习如何编写Java我们的第一个程序。创建第一个Java工程项目首先我们要进入安装好的J...

Java构建和发布工具jDeploy java 构建工具

Java语言在设计之初就提出了“一次编写,到处运行”的口号。但是理想很丰满,现实很骨感,实际上Java经过这么多年的发展其易用性也不是很让人满意,其运行环境的配置也颇为坎坷。本文虫虫给大家介绍一款Ja...

Java学习开发需要的工具 java开发需要学哪些东西

Java学习开发需要用到的工具利用空闲的时间整理了一下Java开发学习工作中会用到的工具。一、Java开发学习首先需要有Java运行环境。下载Java jdk,下载完成后安装jdk,一般一直Next...

如何避免springboot jar包源码泄露以及反编译

近期笔者在为客户做私有云的部署。而这个客户有个特点,喜欢破解。为了防止源码泄漏,决定对jar包进行加密。XjarXjar基于对JAR包内资源的加密以及拓展ClassLoader来构建的一套程序加密启动...