可以说,如果编码时间长的话,肯定会遇到DLL地狱,也就是程序版本的问题.
要是真碰上了,还真是不知道怎么办.因为这东西,跟运行或者说是安装环境有直接关系,
是开发人员来控制的.而C/C++这类语言很少能解决这种问题.只能靠用户自己处理.这样就真的....
不知道JAVA有什么好办法?
在JAVA中直接提供了一个版本管理机制,可以供我们在代码中直接控制代码依赖库的版本.这总算是个好消息吧.
下面我们就看看是怎么用的吧
按JAVA的规范,它是定义了一个包里的内容与版本的东西,而且这个版本不只是代码的,还有资源,文件.的版本.
好处嘛,对于最终用户不用管版本问题,就继续我们的write once, run anywhere
产品支持也是如此,有了版本各种兼容问题也就容易解决了.
管理员也是如此,知道 了版本的要求也就更好处理了.
对于开发人员当然就是可以自由控制我们的UPGRADE了,有比它更好的消息吗?
对于JVM的版本可以取得如下信息.
java.vm.specification.version i.e. 1.2java.vm.specification.vendor
i.e. Sun Microsystems Inc.java.vm.specification.name
i.e. Java™ Virtual Machine Specificationjava.vm.version
i.e. Solaris 5.5 Native 1.0 build32java.vm.vendor i.e.
Sun Microsystems Inc.java.vm.name i.e.
Solaris 5.x JVM注:JAVA的文档中是用-,实际是用的.还有下面的版本用于JVM
java.version i.e. Solaris 1.2java.vendor i.e.
Sun Microsystems Inc.java.specification.version i.e. 1.1java.specification.name
i.e. Java™ Language Specificationjava.specification.vendor
i.e. Sun Microsystems Inc. 对于Package是下面的
Package-Title Title of the packagePackage-Version
Version numberPackage-Vendor
Vendors company or organizationSpecification-Title
Title of the specificationSpecification-Version
Version numberSpecification-Vendor
Vendors company or organization当然它们是用java.lang.Package 的API取得的.
不过东西是放到manifest文件中的.
java.lang.Class中也加了一个getPackage的方法.
java.lang.ClassLoader也是如此,同样也有Package方法.
http://welkintoh.javaeye.com/blog/235888
阅读(1481) | 评论(0) | 转发(0) |