java代码编译版本号(Java 版本)

本文目录一览:

怎么知道Java class文件JDK编译的版本号

查看class文件编译的jdk版本步骤如下:

首先打开cmd命令行窗口,输入如下指令:

会输出一些信息,大致如下:

Compiled from “HtmlCrawer.java”

public class org.eagleeye.html.HtmlCrawer extends java.lang.Object

SourceFile: “HtmlCrawer.java”

minor version: 0

major version: 50//这个便是jdk的版本信息。

jdk的版本可以参考如下对照表:

如何查看java的class文件是被哪个版本的jdk编译的?

使用UE(Ultra Edit)打开.class文件,切换到16进制模式,查看第1行: CA FE BA BE 00 00 00 3200 75 07 00 02 01 00 27 ; … .. 前8个字节:CA FE BA BE 是固定的后面的4个字节:00 00是次版本号次版本号后面的4个字节:00 32是编译源代码的jdk版本号32(对应十进制的50):JDK1.631(对应十进制的49):JDK1.530(对应十进制的48):JDK1.42F(对应十进制的47):JDK1.3 2E(对应十进制的46):JDK1.2 编译器的jdk版本是1.2 编译器的jdk版本是1.6

java编译,提示JDK版本错误!

错误原因:

类似错误均属于Java版本问题,即JDK版本过低,只要选择相对应的JDK版本编译即可。 

48,49,50是Java编译器内部的版本号: 

Unsupported major.minor version 51.0 对应于 JDK1.7(JRE1.7) 

Unsupported major.minor version 50.0 对应于 JDK1.6(JRE1.6) 

Unsupported major.minor version 49.0 对应于 JDK1.5(JRE1.5) 

Unsupported major.minor version 48.0 对应于 JDK1.4(JRE1.4)

解决办法:

仅仅按照网上说的设置JAVA_HOME 等方案是不能解决问题的。

下面是我的解决办法: 

(1)在eclipse中新增dk1.7的版本

(2)Project – Properties -Java Build Path 右侧窗口 – Libraries 在列表里显示的竟然还是jdk1.6 。

(3)将jdk1.6相关条目选中,然后点右侧按钮 Remove ,将jdk1.6删除。

(4)点右侧 Add Library 弹出对话框,选中jdk1.7的条目,我这里显示的是 JRE System Library 然后点击next。

(5) 在第四步弹出的对话框上,激活 Alternate JRE 选项,并在下拉列表中,选择 jdk1.7 然后点Finish。

(6)在第五步完成后,从Libraries 选项卡切换到 Order and Export 选项卡,并在jar列表中选中 JRE System Library[jdk1.7] 然后 点 ok完成设置。

(7)修改项目启动jdk为1.7;项目右键 – Run As – Run Configuration;选择Jre选项卡,alternate jre选择jre7,点击run即可运行。

总结

其实根本问题还是jre的配置问题。major.minor version,它相当于一个软件的主次版本号,只是在这里是标识的一个java Class的主版本号和次版本号。

Java如何生成版本号?比如0001 0002 0002

首先还是不太明白你说的这个“生成版本号”是什么意思,如果只是生成一个自增序列的话

1、如果有oracle数据库的话可以利用它的序列生成。

2、没有oracle,用redis也行。

3、没有数据库,那就写个文件来存取吧:

public class Test2 {

public static void main(String[] args) throws IOException {

System.out.println(getSequence(“d:\\test\\sequence.txt”));

setSequence(“d:\\test\\sequence.txt”, “”);

System.out.println(getSequence(“d:\\test\\sequence.txt”));

}

//读取序列

public static String getSequence(String sequenceFile) throws IOException {

FileInputStream fileInputStream = null;

InputStreamReader inputStreamReader = null;

BufferedReader bufferedReader = null;

try {

File file = new File(sequenceFile);

fileInputStream = new FileInputStream(file);

inputStreamReader = new InputStreamReader(fileInputStream);

bufferedReader = new BufferedReader(inputStreamReader);

// 按行读取字符串

String str;

if ((str = bufferedReader.readLine()) != null) {

return str;

}

return null;

} catch (Exception e) {

e.printStackTrace();

return null;

} finally {

if (bufferedReader != null) {

bufferedReader.close();

}

if (inputStreamReader != null) {

inputStreamReader.close();

}

if (fileInputStream != null) {

fileInputStream.close();

}

}

}

//设置序列,如果传入的序列号为空,则在原序列的基础上+1

public static void setSequence(String sequenceFile, String sequence) throws IOException {

if (sequence == null || sequence.isEmpty()) {

String oriSequence = getSequence(sequenceFile);

Objects.requireNonNull(oriSequence);

sequence = String.format(“%04d”, Integer.valueOf(oriSequence) + 1);

}

FileOutputStream fileOutputStream = null;

OutputStreamWriter outputStreamWriter = null;

BufferedWriter bufferedWriter = null;

try {

File file = new File(sequenceFile);

fileOutputStream = new FileOutputStream(file);

outputStreamWriter = new OutputStreamWriter(fileOutputStream);

bufferedWriter = new BufferedWriter(outputStreamWriter);

bufferedWriter.write(sequence);

} catch (Exception e) {

e.printStackTrace();

} finally {

if (bufferedWriter != null) {

bufferedWriter.close();

}

if (outputStreamWriter != null) {

outputStreamWriter.close();

}

if (fileOutputStream != null) {

fileOutputStream.close();

}

}

}

}

代码又挤在一起了:

读序列:

写序列:

运行结果:

先生成好这个文件:

冲!:

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/285690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-22 15:45
下一篇 2024-12-22 15:45

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • Git secbit:一种新型的安全Git版本

    Git secbit是一种新型的安全Git版本,它在保持Git原有功能的同时,针对Git存在的安全漏洞做出了很大的改进。下面我们将从多个方面对Git secbit做详细地阐述。 一…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29

发表回复

登录后才能评论