`
javababy1
  • 浏览: 1174834 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
阅读更多

很多人在初学Java的时候,都要配置环境变量。在配置CLASSPATH的时候,都会加上一个当前目录.,还有两个jar:dt.jar和 tools.jar。其实好多人都不了解这两个jar的作用,尤其是dt.jar。网上的大部分解释是这样的:dt.jar是关于运行环境的类库,主要是 swing的包;tools.jar是关于一些工具的类库。对于后者我赞同,tools.jar中主要是jdk工具,包括 javac,java,javap,javadoc等。javac,java,javadoc,很多都熟悉。javap,是java printer的缩写,是jdk自带的一个反编译工具。不过把dt.jar解释成关于运行环境的类库,我是百思不得其解。所谓的运行环境是什么?难道是 JRE?本文也希望高手可以给我一个解释。下面是我自己整理的关于dt.jar的资料:

     首先看一下SUN对于dt.jar的定义:Also includes dt.jar, the DesignTime archive of BeanInfo files that tell interactive development environments (IDE's) how to display the Java components and how to let the developer customize them for the application。中文翻译过来就是:dt.jar是BeanInfo文件的DesignTime归档,BeanInfo文件用来告诉集成开发环境(IDE)如何显示Java组件还有如何让开发人员根据应用程序自定义它们。这段文字中提到了几个关键字:DesignTime,BeanInfo,IDE,Java components。其实dt.jar就是DesignTime Archive的缩写。那么何为DesignTime。

    何为DesignTime?翻译过来就是设计时。其实了解JavaBean的人都知道design time和runtime(运行时)这两个术语的含义。设计时(DesignTIme)是指在开发环境中通过添加控件,设置控件或窗体属性等方法,建立应用程序的时间。与此相对应的运行时(RunTIme)是指可以象用户那样与应用程序交互作用的时间。那么现在再理解一下上面的翻译,其实dt.jar包含了swing控件中的BeanInfo,而IDE的GUI Designer需要这些信息。那让我们看一下dt.jar中到底有什么?下面是一张dt.jar下面的内容截图:

 

    从上面的截图可以看出,dt.jar中全部是Swing组件的BeanInfo。那么到底什么是BeanInfo呢?

    何为BeanInfo?JavaBean和BeanInfo有很大的关系。Sun所制定的JavaBean规范,很大程度上是为IDE准备的——它让 IDE能够以可视化的方式设置JavaBean的属性。如果在IDE中开发一个可视化应用程序,我们需要通过属性设置的方式对组成应用的各种组件进行定制,IDE通过属性编辑器让开发人员使用可视化的方式设置组件的属性。一般的IDE都支持JavaBean规范所定义的属性编辑器,当组件开发商发布一个组件时,它往往将组件对应的属性编辑器捆绑发行,这样开发者就可以在IDE环境下方便地利用属性编辑器对组件进行定制工作。JavaBean规范通过 java.beans.PropertyEditor定义了设置JavaBean属性的方法,通过BeanInfo描述了JavaBean哪些属性是可定制的,此外还描述了可定制属性与PropertyEditor的对应关系。BeanInfo与JavaBean之间的对应关系,通过两者之间规范的命名确立:对应JavaBean的BeanInfo采用如下的命名规范:<Bean>BeanInfo。当JavaBean连同其属性编辑器相同的组件注册到IDE中后,当在开发界面中对JavaBean进行定制时,IDE就会根据JavaBean规范找到对应的BeanInfo,再根据 BeanInfo中的描述信息找到JavaBean属性描述(是否开放、使用哪个属性编辑器),进而为JavaBean生成特定开发编辑界面。

    哈哈。现在可以理解dt.jar了吧。其实里面主要是swing组件的BeanInfo。IDE根据这些BeanInfo显示这些组件以及开发人员如何定制他们。

    PS:好长时间没有在BlogJava写东西了。一方面是因为工作忙的原因,另一方面是自己工作后变的懒散的原因。今天是5-15号,距离自己工作一年还差两个月零5天。在最后的这段时间,我要拼命的学习东西。重点放在设计模式,并发编程,网络编程,工具类库设计等。如果有时间的话,还有我那熟悉的 Linux。另外,我想写一个《老生常谈系列》,如《老生常谈之工厂》,哈哈。

0
1
分享到:
评论

相关推荐

    JDK8.0(含tools.jar和dt.jar)

    JDK8.0,含tools.jar和dt.jar,可能直接安装,里面有JRE,只要设置好环境变量,就可以进行开发。

    JAVA tools,dt jar.rar

    jdk 1.8.251 tools.jar 和 dt.jar,打包把两个jar包放在一起了,都是1.8.251版本的,需要的就自己下载吧

    java1.8 dt.jar

    java1.8 dt.jar

    tools&dt.jar

    当你jdk安装在同一根目录下的时候会缺少这两个jar包文件,此时打开eclipse会出现错误,现在只需要下载这两个jar包解压后拷贝到lib文件夹里面即可

    tools&amp;amp;dt.jar

    当你jdk安装在同一根目录下的时候会缺少这两个jar包文件,此时打开eclipse会出现错误,现在只需要下载这两个jar包解压后拷贝到lib文件夹里面即可

    dt-rt-tools的jar包

    获取:dt.jar,rt.jar,tools.jar一次get 操作:当你下载并解压后,可以将这三个包添加到jdk/lib文件夹下。

    jrt-fs.jar、rt.jar

    lib包中的jrt-fs.jar 和 rt.jar 包下载,rt.jar:Java基础类库,也就是Java doc里面看到的所有的类的class文件。dt.jar:dt.jar是关于运行环境的类库,主要是swing包。

    hadoop-core-0.20.2-cdh3u3.jar

    export CLASSPATH="$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:${HADOOP_HOME}/lib/commons-logging-1.0.4.jar:${HADOOP_HOME}/lib/guava-r09-jarjar.jar:${HADOOP_HOME}/hadoop-core-0.20.2-cdh3u3.jar:/usr/...

    JDK中rt.jar、tools.jar和dt.jar作用.pdf

    JDK中rt.jar、tools.jar和dt.jar作用.docx

    java1.8 tools.jar

    有时候装Java jdk的时候将jre与jdk的路径选择一致的时候,后出现覆盖,少这两个包,网上大多太旧且要积分,真扯蛋,这些人

    适合web开发使用的rt.jar

    自己处理过的rt.jar,有需要的可以看看,不能保证所有的web项目都能使用,因为里边有些类我没有用到的删掉了,不过我觉得应该不会有太大的问题,如果这个您那不合适,那您只能把rt.jar tools.jar dt.jar解压再重新...

    protobuf-dt com.google.eclipse.protobuf_2.3.2.201609161849.jar

    In the end I injected in an up-to-date version of the descriptor.proto file into the plugin jar under .p2\pool\plugins\com.google.eclipse.protobuf_2.3.2.201609161849.jar and restarted Eclipse which ...

    asp.mfl,iisadmin.mfl,w3core.mfl,w3dt.mfl,w3isapi.mfl,iisadmin.mof,w3core.mof,w3dt.mof,w3isapi.mof

    asp.mfl,iisadmin.mfl,w3core.mfl,w3dt.mfl,w3isapi.mfl,iisadmin.mof,w3core.mof,w3dt.mof,w3isapi.mof 解决win server2003 安装IIS时出错 找不到相关文件。

    SAPJCO3连接配置(sapjco3-linux_x64-3.0.10)

    CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/sapjco3.jar LD_LIBRARY_PATH=dir:$LD_LIBRARY_PATH:$JAVA_HOME/jre/lib/amd64/server export CLASSPATH LD_LIBRARY_PATH PATH

    mysql-connector-java-commercial-5.1.30-bin.jar

    CLASSPATH=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;C:\Program Files\Apache Software Foundation\Tomcat5.5\common\lib\servlet-api.jar;%JAVA_HOME%\lib\mysql-connector-java-5.1.30-bin-g.jar;C:\...

    庖丁分词jar包和dic目录

    https://github.com/chubbyjiang/MapReduce

    windows下bootimg解包工具,支持dt.img和mtk

    运行方法: 在cmd下cd到文件所在目录 输入&quot;bootimg exe 功能 参数&quot; 目前支持以下功能: repack ramdisk 生成 ramdisk unpack ramdisk 解开 ramdisk ... repack bootimg 生成 bootimg 包括boot img及...

    JDK1.6.0_03 for linux i586

    由于一个文件太大不能上传被拆分成2文件 环境变量设置如下: JAVA_HOME=/home/jdk1.6.0_03 PATH=$PATH:%JAVA_HOME%/bin ...另外检查dt.jar是否存在不存在的话找dt.pack文件是否存在,存在就解压成dt.jar

Global site tag (gtag.js) - Google Analytics