仿造网上搜索到的例子,写了个查看class文件的工具类,以后万一报错
[ERROR]20/10/2008 14:17:59,765 (org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/spring]): Error configuring application listener of class com.example.controller.ServiceInitializer
Exception: -Bad version number in .class file-
-31- java.lang.UnsupportedClassVersionError: Bad version number in .class file
就可以用这个工具检查一下
package com.sillycat.api.commons.utils;
import java.io.FileInputStream;
public class JavaVersionUtil {
private static final String str = "E:/book/rest/spring/WEB-INF/classes/com/example/business/local/TopicManagerImpl.class";
// 版本号对应:
// 5.0
// 版本号(version):49.0
// 6.0
// 版本号(version):50.0
// 1.4
// 版本号(version):46.0
// 1.3
// 版本号(version):45.3
public static void main(String args[]) {
try {
// 读取文件数据,文件是当前目录下的First.class
FileInputStream fis = new FileInputStream(str);
int length = fis.available();
// 文件数据
byte[] data = new byte[length];
// 读取文件到字节数组
fis.read(data);
// 关闭文件
fis.close();
// 解析文件数据
parseFile(data);
} catch (Exception e) {
System.out.println(e);
}
}
private static void parseFile(byte[] data) {
// 输出魔数
System.out.print("魔数(magic):0x");
System.out.print(Integer.toHexString(data[0]).substring(6)
.toUpperCase());
System.out.print(Integer.toHexString(data[1]).substring(6)
.toUpperCase());
System.out.print(Integer.toHexString(data[2]).substring(6)
.toUpperCase());
System.out.println(Integer.toHexString(data[3]).substring(6)
.toUpperCase());
// 主版本号和次版本号码
int minor_version = (((int) data[4]) <<
+ data[5];
int major_version = (((int) data[6]) <<
+ data[7];
System.out.println("版本号(version):" + major_version + "."
+ minor_version);
}
}
分享到:
相关推荐
jdk1.8编译类文件反编译工具。使用方式:java -jar procyon-decompiler-0.5.30.jar ***.class -o c:\**
支持jdk1.2 jdk1.3 jdk1.4 jdk1.5 jdk1.6 支持目录对目录 支持直接双击class文件看源代码
用于反编译class文件,直接打开里面的exe文件运行打开class文件即可实现反编译。
JAVA反编译CLASS文件,包括文档和所需的软件,在JDK1.3和JDK1.4上已经实现成功
我将class文件FileSa.class和jad放在E盘根目录下; 打开“命令提示符”快捷键操作:WIN+R; 再依次如下几步: cmd 回车; cd /d E: 回车; jad -sjava FileSa.class 回车; 此时E盘目录下会生成一个FileSa....
因本人使用的JDK1.8,测试可用,高版本JDK暂未测试。 使用步骤:beyond compare的菜单--工具(tools)--- 导入设置(import ...将jar包或class文件拖放对比的时候,在对比窗口上选择编译方式为Java Class to source。
jad class文件的反编译软件
java jdk 反编译 将class文件反编译成java文件 不用安装 直接使用小程序 即可将.class文件反编译成.java文件
1.将jad.exe放到安装jdk的bin目录下 D:\xxxx\jdk1.6.0_45\bin 2.将net.sf.jadclipse_3.3.0.jar放到安装eclpse的plugins目录不上 D:\xxx\xxx\eclipse\plugins 3.在Eclipse的Windows——> Perference——>General->...
闲暇时写的小东西,路过的可以看看.查看class文件编译时使用的jdk版本.没技术含量,纯粹为了查看方便,使用UltraEdit一样可以看16进制来换算.
java反编译工具,方便查看class文件,
JVM负责装载class文件并执行,因此,首先是JDK如何将Java代码编译为class文件、如何装载class文件及如何执行class,将源码编译为class文件的实现取决于各个JVM实现或各种源码编译器。class文件通常由类加载器...
1.安装好JDK运行环境,设置好必要的Windows环境变量,具体方法可自行百度。 2.把这两个批处理放到任意有 *.java 文件的目录。 3.拖拽单个 *.java 文件到下面批处理,是把 java 文件编译为 class 文件。 ...
JD-GUI不需要安装,直接单击运行,您可以对JAR、类文件进行反编译。 三、JDk是一款我们最经常见到的数据反编译工具,我们可以使用JDk来进行数据反义,大家可以;利用JDk来中的插件帮助我们的数据和应用信息,并且...
3、将jad反编译工具jad.exe放到jdk安装路径的bin目录下面,jadclipse_3.1.0.jar放到eclipse的安装目录下的plugins目录下。 4、启动eclipse,打开:Window->Preferences->Java->JadClipse. Path to ...
超好用的反编译工具,支持class文件jdk版本号查看
Eclipse Class Decompiler对JDK的最低要求为JDK1.6, 能反编译和debug各版本的Class文件,支持JDK8的Lambda语法,同时支持中文等非Ascii码字符集的解析,支持Eclipse 3.6及以上所有版本的Eclipse。 本插件支持...
反编译JAVA.class文件,特别是在没有原码地情况 ,适时地进行反编译,可以看到相关地原码!
注:如果不想安装JDK,也可以从其它地方拷贝JDK安装目录下的文件到程序目录下的jre目录中。 2,运行于2000/XP/2003操作系统 b,如何进行安装与卸载 运行程序目录下这个程序Setup.exe进行安装和卸载。 2,使用 ...
小颖JAVA源代码反编译专家V1.4终极版是个很好的工具,但是只能对JDK1.4.2和之前的版本编译的程序反编译,而JDK5.0后的就无能为力了,但是可以下载JAD.EXE来逐个反编译 CLASS文件,不过如果碰到有几十个或几百个...