确定Java开发中.jar包的JDK版本

1.查看.jar包中的META-INF\MANIFEST.MF

使用winrar等压缩软件打开.jar包,查看META-INF\MANIFEST.MF中的内容,Build-Jdk属性就是JDK的版本,比如:

Build-Jdk: 1.8.0_91

说明其JDK版本为1.8.0_91。

但是,如果一个.jar文件中,如果没有这个字段,就必须通过下面一种方法来查看。

2.通过反编译.class文件来查看

解压.jar包,能得到.class文件。用JDK自带的javap反编译.class文件,用如下命令:

javap -verbose Configuration.class11

查看得到的信息中,major version属性的内容,如下

major version: 5211

说明这个.class文件是由JDK1.8编译得到的。

  • J2SE 6.0 = 50 (0x32 hex)
  • J2SE 5.0 = 49 (0x31 hex)
  • JDK 1.4 = 48 (0x30 hex)
  • JDK 1.3 = 47 (0x2F hex)
  • JDK 1.2 = 46 (0x2E hex)
  • JDK 1.1 = 45 (0x2D hex)

[注意]一个.jar包中可能有多个.class文件,每个.class的JDK版本可能会不一样(编译器多个项目设置不同) 。

3.如何设置Eclipse导出.jar的JDK版本

我们可以在同一台机器上安装多个JDK,然后在eclipse中选择不同版本的JDK来导出.jar包。

Project右键->Properties->Java Compiler中的JDK Compliance选项下,有Use Compliance from execution environment 选择JDK版本。

[注意]如果一个.jar依赖于多个Project,必须将每个Project的JDK版本都选择一致。

时间: 2024-10-20 04:06:14

确定Java开发中.jar包的JDK版本的相关文章

查看jar包的jdk版本并降级

用解压工具打开jar包(例子都是用7zip) 进入到META-INF目录,查看MANIFEST.MF文件,查看Bulid-Jdk,下图就为1.7.0_55版本的JDK,这就表示jetty-servlet-9.2.0.RC0.jar这个jar包的JDK版本是1.7的 当发现jar包的jdk版本为1.8,而linux的JDK版本为1.7,那么需要找到一个jdk为1.7版本的jar包,这就需要去到maven中央仓库去找到一个合适的jar包 如jetty-servlet-9.3.4.RC0.jar的JD

java开发常用jar包

mail.jar与activation.jar里面包含了activation.jar和mail.jar两个包.通过里面的类的调用便可以达到发送电子邮件的目的commons-beanutils.jarApache Commons包中的一个,包含了一些Bean工具类类.必须使用的jar包.commons-collections.jarApache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.强大commons-lang.jarApache Commons包

java开发中的那些事(1)-------关于ORA00604和ORA12705

******************************有关myEclipse和oracle连接中出现的一个问题********************************* 界面拿给用户提意见,然后又是修修改改,总算是审批通过,下一步就要开始编码了,结果一出手就碰到了问题,先来展示一下问题所在: 在hibernate反向生成的时候,突然蹦出了这两个异常提示ORA-00604和ORA12705,让我很是纠结,然而其实在这之前还蹦出来Driver can't find的异常,然后我们来分析

MyEclipse中jar包管理技巧

文章来自互联网,记录备查. 在用MyEclipse做企业级开发的过程中,我们经常会接触很多jar包,主要包括以下几类: 一是应用服务器上的jar包,二是项目所需jar包,三是开发环境所需jar包.很明显可以看出jar包是如此重要,以至于没有它们,我们很难艺术地运用封装/模块化/复用等. 为此,我们有必要对项目开发中涉及到的jar包引入/管理操作作一个比较全面的了解,为进一步提高开发效率做好铺垫. 一.jar包导入方式 A.直接用MyEclipse里自带的相关的项目jar包,右击项目"MyEcli

java开发中遇到的问题及解决方法(持续更新)

摘自 http://blog.csdn.net/pony12/article/details/38456261 java开发中遇到的问题及解决方法(持续更新) 工作中,以C/C++开发为主,难免与其他服务和Web进行交换,Java开发必不可少,又不想动用Eclipse大家伙,只能自己动手编写脚本进行Java代码的编译和运行,期间遇到的一些问题,记录下来供自己和大家参考.1)软件包不存在/软件包 javax.jms 不存在    这是由于javac编译时找不到javax.jms所在的软件包,因此将

eclipse生成【带有外部jar包】的java可执行jar包

之前有写过一篇使用eclipse生成java可执行jar包,但是最近的一次使用中无论如何都不成功,当双击执行打成的jar时,弹出如下错误: could not find the main class:mailTest.SendMailTest1.Program wil exit 针对这一问题,我首先想到在上一次编写java聊天小程序打包时的问题,也是这个错误,当时网上说需要更改eclipse中该项目的jdk版本为1.6,如图: 虽然意料之中,但是依旧有些遗憾的是,这样修改后生成的jar包,在双击

java开发中的那些事(3)-------最常用到的几个快捷键

今天去看了韩寒的<后会无期>,感慨颇多. 这里记录下现在常会用到的几个快捷键,不多,却是当前最常用到: 1.ctrl+f  ----------------"搜索", 这个应该在大多数人来说都太简单了,可惜我也是知道不长时间: 2.ctrl+shift+r  --------"工程内搜索",这个也是搜索,不过是搜索整个工程的,这个知道后美滋滋了好久: 3.ctrl+/  ----------------"简单注释","//&

记录:Protocol&#160;Buffers(protobuf)在Java开发中使用

数据交换的方式很多比如:XML,JSON,Protobuf.虽然protobuf很流行,并且系出名门,可是没怎么用过.通过阅读google developers里关于protocal-buffers的内容基本可以使用它了.如果你访问该链接https://developers.google.com/protocol-buffers/ 失败的话,肯能需要VPN服务. 语言手册:https://developers.google.com/protocol-buffers/docs/proto Prot

Eclipse中Jar包的生成与使用

最近在熟悉Java语言,在学习过程中对Eclipse常用操作熟悉了一遍.这篇文章简单说下Jar包的生成与使用. Java中Jar包相当于C/C++中的lib库,它是对.class文件进行打包:常用的Jar包有API库包(^_^,这个是我杜撰的)和可执行的Jar包.这篇文章讲解下API库包的生成,操作过程如下所示: 新建一个Java工程JarExp,新建一个jarexp.java文件:要生成Jar包的源代码jarexp.java为: package com.lming08.data; import