如何获取项目中所用jdk版本号

goodmrning 2011-03-28 04:49:18
如题。

机器安装1.6的jdk。项目中用1.4的jdk。

用System.getProperty("java.version")获取的是安装的jdk版本号(1.6)。

现在要获取项目的jdk版本号(1.4),如何获取?
...全文
1196 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
铁匠梁 2011-03-31
  • 打赏
  • 举报
回复
直接 在jre/bin下执行 java -version 即可
goodmrning 2011-03-30
  • 打赏
  • 举报
回复
能不能在编译程序时打印出程序的版本号?
  • 打赏
  • 举报
回复
没看明白在问什么呢
nodream521 2011-03-29
  • 打赏
  • 举报
回复
你点击myeclipse菜单中的window→preferences→java→Installed JREs→然后选择你要用的jre版本
bayougeng 2011-03-29
  • 打赏
  • 举报
回复
这个。。。
你可以在打包jar的时候将编译项目的jdk版本写到META-INF中。在build文件中写,应该可以实现的,I believe.
yingzhuo2011 2011-03-29
  • 打赏
  • 举报
回复
System.getProperties().getProperty("java.vm.version"),就是当前使用的JDK的版本号吧。
qiujinshui 2011-03-28
  • 打赏
  • 举报
回复
哈哈,版本号有什么作用啊?从来没思考过这个问题、、、、
龙四 2011-03-28
  • 打赏
  • 举报
回复
既然是项目,在上线时应该要确定版本号啊,连次版本号都要定下来不能改,难道?
goodmrning 2011-03-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fengyun817 的回复:]
一般做项目都知道要用什么版本的jdk(jre)吧?
如果不知道那还咋开发?不能有人用1.5,有人用1.4吧?

如果实在不知道那就只能看class文件的编译信息了,百度一下就能找到:

引用
http://www.rgagnon.com/javadetails/java-0544.html
The first 4 bytes are a magic number, 0xCAFEBA……
[/Quote]


你贴的那段代码我在网上也看到了,但跟我所提到的问题不相符。

还有没有更简单的方法实现?

还是谢谢了!
fengyun817 2011-03-28
  • 打赏
  • 举报
回复
一般做项目都知道要用什么版本的jdk(jre)吧?
如果不知道那还咋开发?不能有人用1.5,有人用1.4吧?

如果实在不知道那就只能看class文件的编译信息了,百度一下就能找到:

引用
http://www.rgagnon.com/javadetails/java-0544.html
The first 4 bytes are a magic number, 0xCAFEBABe, to identify a valid class file then the next 2 bytes identify the class format version (major and minor).

Possible major/minor value :

major minor Java platform version
45 3 1.0
45 3 1.1
46 0 1.2
47 0 1.3
48 0 1.4
49 0 1.5
50 0 1.6

import java.io.*;

public class ClassVersionChecker {
public static void main(String[] args) throws IOException {
for (int i = 0; i < args.length; i++)
checkClassVersion(args[i]);
}

private static void checkClassVersion(String filename)
throws IOException
{
DataInputStream in = new DataInputStream
(new FileInputStream(filename));

int magic = in.readInt();
if(magic != 0xcafebabe) {
System.out.println(filename + " is not a valid class!");;
}
int minor = in.readUnsignedShort();
int major = in.readUnsignedShort();
System.out.println(filename + ": " + major + " . " + minor);
in.close();
}
}

> java ClassVersionChecker ClassVersionChecker.class
ClassVersionChecker.class: 49 . 0

如果连class都没有,那啥也别说了。
  • 打赏
  • 举报
回复
look

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧