我在我的java桌面应用程序中使用javax.xml.soap包,我想检查是否在不同平台上的JRE中可以使用该包(以及更多通常随JDK一起提供的任何包)(win,mac, linux)用于部署。 目的是确保我的应用程序将在具有JRE的目标计算机上运行,或检查是否需要完整的JDK。同样对于linux我想确保open-jdk jre 1.6(不是oracle one)就足够了。 感谢
答案 0 :(得分:1)
如果您不想知道您所拥有的JRE中是否包含课程,请执行以下操作:
rt.jar
,我的/usr/lib/jvm/jdk1.7.0_07/jre/lib/rt.jar
.zip
查看器如果您不想知道您正在运行的JRE是否包含您的课程,请执行以下操作:
Class.forName
ClassNotFoundException
,那就不在了!答案 1 :(得分:0)
猜测运行时JVM中是否存在包的方法:
java.version
)javax.xml.soap
中您期望的课程
在实践中,我宁愿要求某些JRE用于在我的系统要求中运行我的应用程序,而不是仅仅尝试检测包是否可用。
答案 2 :(得分:0)
这种便携性的努力非常好! 我建议你需要Java 7,因为OpenJDK7是它的默认实现,所以不再需要“oracle java比openjdk更好”。 我认为要求Java 7比要求特定的Java实现(Oracle)或“检查它是否在openjdk 6上运行”更好。 无论如何我建议大卫的观点!