有没有办法在运行时确定Java EE版本? [英] Is there a way to determine the Java EE version at runtime?

查看:277
本文介绍了有没有办法在运行时确定Java EE版本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有编程方式来确定哪个版本的java ee环境可用?

Is there programmatic way to determine which version of the java ee environment is available?

推荐答案

没有标准的方法可以做那。你可以做的最接近的是使用reflection / ClassLoader并检查在给定的Java EE版本中引入的特定API类/方法。

There's no standard way to do that. The closest you could do is use reflection/ClassLoader and check for specific API classes/methods that were introduced in a given Java EE version.

我不知道如何:


  • Java EE 6 / EJB 3.1添加 javax.ejb.Singleton

  • 添加了Java EE 5 / EJB 3.0 javax.ejb.Stateless

  • 添加了J2EE 1.4 / EJB 2.1 javax.ejb.TimerService

  • 添加了J2EE 1.3 / EJB 2.0 javax.ejb.MessageDrivenBean

  • Java EE 6 / EJB 3.1 added javax.ejb.Singleton
  • Java EE 5 / EJB 3.0 added javax.ejb.Stateless
  • J2EE 1.4 / EJB 2.1 added javax.ejb.TimerService
  • J2EE 1.3 / EJB 2.0 added javax.ejb.MessageDrivenBean

在此之前它是J2EE 1.2 / EJB 1.1

Before that it's J2EE 1.2 / EJB 1.1

虽然,请注意,如果这是针对Tomcat(通过标记判断),最好的方法是只检查 System.getProperty(tomcat.version)。您应该能够基于Tomcat版本暗示servlet版本。

Though, note, if this is for Tomcat (judging by the tag), the best way is to just check System.getProperty("tomcat.version"). You should be able to imply the servlet version based on the Tomcat version.

这篇关于有没有办法在运行时确定Java EE版本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆