﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-DZM.528-随笔分类-IDE/Tools</title><link>http://www.blogjava.net/duanzhimin528/category/45111.html</link><description>Life is a voyage, not a destination.</description><language>zh-cn</language><lastBuildDate>Mon, 12 Jul 2010 14:08:32 GMT</lastBuildDate><pubDate>Mon, 12 Jul 2010 14:08:32 GMT</pubDate><ttl>60</ttl><item><title>Ant中的classpath配置和使用</title><link>http://www.blogjava.net/duanzhimin528/archive/2010/07/07/325449.html</link><dc:creator>DZM.528</dc:creator><author>DZM.528</author><pubDate>Wed, 07 Jul 2010 07:03:00 GMT</pubDate><guid>http://www.blogjava.net/duanzhimin528/archive/2010/07/07/325449.html</guid><wfw:comment>http://www.blogjava.net/duanzhimin528/comments/325449.html</wfw:comment><comments>http://www.blogjava.net/duanzhimin528/archive/2010/07/07/325449.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/duanzhimin528/comments/commentRss/325449.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/duanzhimin528/services/trackbacks/325449.html</trackback:ping><description><![CDATA[Ant手册中配置classpath采用classpath标签，可是我发现这样配置总是不好用，还是直接用path设置classpath

<br /><br />一）设置classpath的方法:
<br /><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;">&lt;path id="project.classpath"&gt;<span class="Apple-converted-space"> </span><br />    &lt;pathelement path="${basedir}/lib/aa.jar"/&gt;<span class="Apple-converted-space"> &lt;!--</span></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><font color="#ff0000">1</font></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><span class="Apple-converted-space">--&gt;</span><br />    &lt;pathelement location="aa.jar"/&gt;  </span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><span class="Apple-converted-space">&lt;!--</span></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><font color="#ff0000">2</font>, </span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;">与1的区别在于location可以去当前路径，当然可以使用绝对路径</span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><span class="Apple-converted-space"> --&gt;</span></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><span class="Apple-converted-space"></span><br />    &lt;filelist id="file" dir="${basedir}/lin"&gt;<span class="Apple-converted-space"></span></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><span class="Apple-converted-space">&lt;!--</span></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><font color="#ff0000">3</font></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><span class="Apple-converted-space">--&gt;</span></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><span class="Apple-converted-space"></span><br />          &lt;file name="a.jar"/&gt;<span class="Apple-converted-space"> </span><br />          &lt;file name="d:lib/b.jar"/&gt;<span class="Apple-converted-space"> </span><br />    &lt;/filelist&gt;<span class="Apple-converted-space"> </span><br />    &lt;fileset dir="d:/lib"&gt;<span class="Apple-converted-space"></span></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><span class="Apple-converted-space">&lt;!--</span></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><font color="#ff0000">4</font></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><span class="Apple-converted-space">--&gt;</span></span></span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><span class="Apple-converted-space"></span><br />           &lt;include name="**/*.jar"/&gt;<span class="Apple-converted-space"> </span><br />     &lt;/fileset&gt;<span class="Apple-converted-space"> </span><br />     &lt;!-- 手册上说了dirset也好用，但是我测试了还是不要用的<span class="Apple-converted-space"></span>--&gt;<br />&lt;/path&gt;   <span class="Apple-converted-space"><br /></span></span></span><br /><fileset dir="d:/lib"></fileset>二）classpath的使用，样例如下：<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;"><span class="Apple-converted-space"></span><br />     &lt;javac scdir="./src" destdir="./classes"&gt;<span class="Apple-converted-space"> </span><br />           &lt;classpath refid="project.classpath"/&gt; <span class="Apple-converted-space"> </span><br />   &lt;/javac&gt;<span class="Apple-converted-space"> </span></span></span><br /><path id="project.classpath"><pathelement path="${basedir}/lib/aa.jar"><pathelement location="aa.jar"><filelist id="file" dir="${basedir}/lin"><file name="a.jar"><br /><javac srcdir="./src" destdir="./classes">三）四种方式的优缺点:
    <br />第1种，调用的需要设置绝对路径适合第三方jar包 
    <br />第2种，则适合jar包和build.xml文件在同一目录下的情况，但是我觉得两个文件放在一起本身就不合理，估计是用的情况不多。这两种都是设置单个jar包 
    <br />第3种，是一个文件集合适合引入不同路径的jar包，但是需要输入每个jar包的名字，比较繁琐，适合于jar包属于不同位置，比较分散但是不多的情况 
    <br />第4种，是一个文件夹，可以采用匹配模式来引入，这个适合在同一个文件夹下，文件名字比较多的情况下 </javac></file></filelist></pathelement></pathelement></path><img src ="http://www.blogjava.net/duanzhimin528/aggbug/325449.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/duanzhimin528/" target="_blank">DZM.528</a> 2010-07-07 15:03 <a href="http://www.blogjava.net/duanzhimin528/archive/2010/07/07/325449.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openfire开发文档</title><link>http://www.blogjava.net/duanzhimin528/archive/2010/07/02/325097.html</link><dc:creator>DZM.528</dc:creator><author>DZM.528</author><pubDate>Fri, 02 Jul 2010 09:58:00 GMT</pubDate><guid>http://www.blogjava.net/duanzhimin528/archive/2010/07/02/325097.html</guid><wfw:comment>http://www.blogjava.net/duanzhimin528/comments/325097.html</wfw:comment><comments>http://www.blogjava.net/duanzhimin528/archive/2010/07/02/325097.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/duanzhimin528/comments/commentRss/325097.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/duanzhimin528/services/trackbacks/325097.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: openfire开发文档																版本：Openfire3.5.																																										摘自：IM即时通讯研究																																																    目																			...&nbsp;&nbsp;<a href='http://www.blogjava.net/duanzhimin528/archive/2010/07/02/325097.html'>阅读全文</a><img src ="http://www.blogjava.net/duanzhimin528/aggbug/325097.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/duanzhimin528/" target="_blank">DZM.528</a> 2010-07-02 17:58 <a href="http://www.blogjava.net/duanzhimin528/archive/2010/07/02/325097.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu中安装Chrome小记[解决 错误：依赖关系没有满足：libnss3-1d (&gt;= 3.12.3)］</title><link>http://www.blogjava.net/duanzhimin528/archive/2010/06/25/324411.html</link><dc:creator>DZM.528</dc:creator><author>DZM.528</author><pubDate>Fri, 25 Jun 2010 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/duanzhimin528/archive/2010/06/25/324411.html</guid><wfw:comment>http://www.blogjava.net/duanzhimin528/comments/324411.html</wfw:comment><comments>http://www.blogjava.net/duanzhimin528/archive/2010/06/25/324411.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/duanzhimin528/comments/commentRss/324411.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/duanzhimin528/services/trackbacks/324411.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 以前安过Chrome 2,是在软件源里更新的，今天突然发现Google的Chrome中终于提供Chrome for Linux版下载了，真不愿意用软件源安装，实在是太慢了，于是试着下载个Chrome测试版安下，哈哈。我在Ubuntu中进的这个页面，就直接是 Linux版下载的页面. http://www.google.cn/chrome?hl=zh-CN&brand=CHMI&nbsp;&nbsp;<a href='http://www.blogjava.net/duanzhimin528/archive/2010/06/25/324411.html'>阅读全文</a><img src ="http://www.blogjava.net/duanzhimin528/aggbug/324411.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/duanzhimin528/" target="_blank">DZM.528</a> 2010-06-25 11:20 <a href="http://www.blogjava.net/duanzhimin528/archive/2010/06/25/324411.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>windows和Ubuntu下Ant的安装使用</title><link>http://www.blogjava.net/duanzhimin528/archive/2010/06/24/324319.html</link><dc:creator>DZM.528</dc:creator><author>DZM.528</author><pubDate>Thu, 24 Jun 2010 03:32:00 GMT</pubDate><guid>http://www.blogjava.net/duanzhimin528/archive/2010/06/24/324319.html</guid><wfw:comment>http://www.blogjava.net/duanzhimin528/comments/324319.html</wfw:comment><comments>http://www.blogjava.net/duanzhimin528/archive/2010/06/24/324319.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/duanzhimin528/comments/commentRss/324319.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/duanzhimin528/services/trackbacks/324319.html</trackback:ping><description><![CDATA[
		<p>前提是Java安装并配置完成：<br /><font color="#ff0000">一、安装JDK(Ubuntu)</font><br /><br />从sun网站上直接下载JDK：http://java.sun.com/j2se/1.4.2/download.html  提供了两个下载： <br /><br />1、RPM  in  self-extracting  file  (j2sdk-1_4_2_04-linux-i586.bin,  32.77  MB)    这个是自解压的文件，在linux上安装如下： <br /><br />#  chmod  u+x  ./j2sdk-1_4_2_04-linux-i586.bin <br /><br />#  ./j2sdk-1_4_2_04-linux-i586.bin <br /><br />在按提示输入yes后，jdk被解压到./j2sdk1.4.2_04目录下。为与下面2中JDK安装路径一致，我们进行下列操作,在/usr/java下建立安装路径，并将文件考到该路径下： <br /><br />#  mkdir  /usr/java <br /><br />#  cp  -fr  ./j2sdk1.4.2_04  /usr/java <br /><br /><br /><br />2、
RPM in self-extracting file (j2sdk-1_4_2_04-linux-i586-rpm.bin, 32.77
MB)这个也是一个自解压文件，不过解压后的文件是j2sdk-1_4_2_04-linux-i586-rpm包，执行rpm命令装到linux上就可
以了。安装如下： <br /><br />#chmod  u+x  ./j2sdk-1_4_2_04-linux-i586-rpm.bin <br /><br />#  ./j2sdk-1_4_2_04-linux-i586-rpm.bin <br /><br />#  rpm  -ivh  j2sdk-1_4_2_04-linux-i586-rpm <br /><br />安装软件会将JDK自动安装到  /usr/java/j2sdk1.4.2_04目录下。</p>
		<p>
				<br />
		</p>
		<p>3、直接用shell命令：<code>$ sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk</code><br /><br />二、配置环境变量 <br /><br />1.修改用户环境变量 <br /><br />假设使用java的用户为  kunp，编辑该用户的.bashrc文件进行环境变量设置。 <br /><br />#  vi  /home/kunp/.bashrc <br /><br />在  .bashrc文件中加入： <br /><br />export  JAVA_HOME=/usr/java/j2sdk1.4.2_04 <br />export  CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib <br />export  PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin <br /><br />2.修改所有用户的环境变量 <br /><br />#  vi  /etc/profile <br /><br />在该文件中加入: <br /><br />export  JAVA_HOME=/usr/java/j2sdk1.4.2_04 <br />export  CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib <br />export  PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin <br /><br />一定要在CLASSPATH路径中加入$CLASSPATH:之前我因为没有加入这个东东，在解释执行class文件时总是报错。</p>
		<font color="#ff0000">二、安装ANT</font>
		<br />1. 下载ant版本最新版本1.8.1(2010/06)(http://tomcat.apache.org/
)<br /><br />       windows下载  zip 
/ linux下载    tar.gz 
<br />       ANT文档：http://ant.apache.org/manual/installlist.html<br />       <font color="#ff0000">在ubuntu下：$ sudo apt-get install ant</font><br />2. ubuntu中配置
<br /><br />$ sudo gedit /etc/profile 
<br /><br />在java配置下 增加 
<br /><br />export ANT_HOME="/l/java/ant"
<br />#不知为何 这里必须有个空行
<br /><br />export PATH="$ANT_HOME/bin:$PATH"
<br /><br />注销使得环境变量生效
<br /><br />3.windows中的配置 
<br /><br />ANT_HOME=L:\java\ant	 
<br /><br />Path=&lt;原Path&gt;;ANT_HOME%\bin
<br /><br />（注意其实没有等号）
<br /><br />4.在命令行中输入 ant 提示找不到 build.xml 说明安装成功
<br /><br /><font color="#ff0000">三、</font><font color="#ff0000">Ant简介
</font><br /><br />可能有许多读者并不了解什么是ant，以及如何使用它。
<br /><br />但只要你是用过linux，你应该知道make为何物，当我们编译linux内核及一些软件的源程序时，我们经常需要在控制台下输入make。
<br /><br />Make其实就是一个项目管理工具，而ant所实现的功能与make差不多。
<br /><br />Ant是apache软件基金会 jakarta项目中的一个子项目，由于是基于java编写的，因此具有很好的跨平台性。
<br /><br />Ant由一些内置任务（task）和可选择的任务组成
<br /><br />（当然你还可以编写自己的任务），使用Make时，你需要写一个Makefile文件，而用ant时则需要写一个build.xml文件。由于采
用xml的语法，所以build.xml文件很容易书写和维护，且结构很清晰，而不像Makefile文件有那么多的限制（例如在tab符号前有一个空格
的话，命令就不会执行）。Ant的优点远不止这些，它还很容易的集成到一些开发环境中（例如visual
age,jbuilder,netbeans）。
<img src ="http://www.blogjava.net/duanzhimin528/aggbug/324319.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/duanzhimin528/" target="_blank">DZM.528</a> 2010-06-24 11:32 <a href="http://www.blogjava.net/duanzhimin528/archive/2010/06/24/324319.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse中Annotation@提示</title><link>http://www.blogjava.net/duanzhimin528/archive/2010/06/18/323807.html</link><dc:creator>DZM.528</dc:creator><author>DZM.528</author><pubDate>Fri, 18 Jun 2010 05:16:00 GMT</pubDate><guid>http://www.blogjava.net/duanzhimin528/archive/2010/06/18/323807.html</guid><wfw:comment>http://www.blogjava.net/duanzhimin528/comments/323807.html</wfw:comment><comments>http://www.blogjava.net/duanzhimin528/archive/2010/06/18/323807.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/duanzhimin528/comments/commentRss/323807.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/duanzhimin528/services/trackbacks/323807.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在Eclipse中编写Annotation，输入@后没有提示&nbsp;&nbsp;<a href='http://www.blogjava.net/duanzhimin528/archive/2010/06/18/323807.html'>阅读全文</a><img src ="http://www.blogjava.net/duanzhimin528/aggbug/323807.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/duanzhimin528/" target="_blank">DZM.528</a> 2010-06-18 13:16 <a href="http://www.blogjava.net/duanzhimin528/archive/2010/06/18/323807.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse插件集锦</title><link>http://www.blogjava.net/duanzhimin528/archive/2010/06/09/323157.html</link><dc:creator>DZM.528</dc:creator><author>DZM.528</author><pubDate>Wed, 09 Jun 2010 07:11:00 GMT</pubDate><guid>http://www.blogjava.net/duanzhimin528/archive/2010/06/09/323157.html</guid><wfw:comment>http://www.blogjava.net/duanzhimin528/comments/323157.html</wfw:comment><comments>http://www.blogjava.net/duanzhimin528/archive/2010/06/09/323157.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/duanzhimin528/comments/commentRss/323157.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/duanzhimin528/services/trackbacks/323157.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在使用Eclipse IDE编写java的过程，遇到过一些实用的插件，随手记录下来，以备以后使用。&nbsp;&nbsp;<a href='http://www.blogjava.net/duanzhimin528/archive/2010/06/09/323157.html'>阅读全文</a><img src ="http://www.blogjava.net/duanzhimin528/aggbug/323157.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/duanzhimin528/" target="_blank">DZM.528</a> 2010-06-09 15:11 <a href="http://www.blogjava.net/duanzhimin528/archive/2010/06/09/323157.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用Maven管理项目-----创建Struts2,Spring,Hibernate项目 </title><link>http://www.blogjava.net/duanzhimin528/archive/2010/05/25/321814.html</link><dc:creator>DZM.528</dc:creator><author>DZM.528</author><pubDate>Tue, 25 May 2010 03:08:00 GMT</pubDate><guid>http://www.blogjava.net/duanzhimin528/archive/2010/05/25/321814.html</guid><wfw:comment>http://www.blogjava.net/duanzhimin528/comments/321814.html</wfw:comment><comments>http://www.blogjava.net/duanzhimin528/archive/2010/05/25/321814.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/duanzhimin528/comments/commentRss/321814.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/duanzhimin528/services/trackbacks/321814.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Maven, 一个构建工具！与Ant相比，它更粗粒化！不需要编写build.xml文件，来操作项目的编译，运行，打包！只要你创建了一个Maven项目，编译，只需要mvn compile！Maven会自动的帮你完成编译！&nbsp;&nbsp;<a href='http://www.blogjava.net/duanzhimin528/archive/2010/05/25/321814.html'>阅读全文</a><img src ="http://www.blogjava.net/duanzhimin528/aggbug/321814.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/duanzhimin528/" target="_blank">DZM.528</a> 2010-05-25 11:08 <a href="http://www.blogjava.net/duanzhimin528/archive/2010/05/25/321814.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>初识Firebug 全文 — firebug的使用</title><link>http://www.blogjava.net/duanzhimin528/archive/2009/12/14/305933.html</link><dc:creator>DZM.528</dc:creator><author>DZM.528</author><pubDate>Mon, 14 Dec 2009 10:12:00 GMT</pubDate><guid>http://www.blogjava.net/duanzhimin528/archive/2009/12/14/305933.html</guid><wfw:comment>http://www.blogjava.net/duanzhimin528/comments/305933.html</wfw:comment><comments>http://www.blogjava.net/duanzhimin528/archive/2009/12/14/305933.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/duanzhimin528/comments/commentRss/305933.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/duanzhimin528/services/trackbacks/305933.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Firebug是Firefox下的一款开发类插件，现属于Firefox的五星级强力推荐插件之一。它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体，是开发JavaScript、CSS、HTML和 Ajax的得力助手。Firebug如同一把精巧的瑞士军刀，从各个不同的角度剖析Web页面内部的细节层面，给Web开发者带来很大的便利。这是一款让人爱不释手的插件，如果你以前没有接触过它，也许在阅读本文之后，会有一试的欲望。笔者在撰写此文的时候，正逢Firebug发布1.0正式版，这不能不说是种巧合。&nbsp;&nbsp;<a href='http://www.blogjava.net/duanzhimin528/archive/2009/12/14/305933.html'>阅读全文</a><img src ="http://www.blogjava.net/duanzhimin528/aggbug/305933.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/duanzhimin528/" target="_blank">DZM.528</a> 2009-12-14 18:12 <a href="http://www.blogjava.net/duanzhimin528/archive/2009/12/14/305933.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JMeter测试使用指南</title><link>http://www.blogjava.net/duanzhimin528/archive/2009/12/09/305266.html</link><dc:creator>DZM.528</dc:creator><author>DZM.528</author><pubDate>Wed, 09 Dec 2009 04:12:00 GMT</pubDate><guid>http://www.blogjava.net/duanzhimin528/archive/2009/12/09/305266.html</guid><wfw:comment>http://www.blogjava.net/duanzhimin528/comments/305266.html</wfw:comment><comments>http://www.blogjava.net/duanzhimin528/archive/2009/12/09/305266.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/duanzhimin528/comments/commentRss/305266.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/duanzhimin528/services/trackbacks/305266.html</trackback:ping><description><![CDATA[
		<p>JMeter是Apache组织的开放源代码项目，它是功能和性能测试的工具，100%的用java实现，最新的版本是1.9.1，大家可以到<a href="http://jakarta.apache.org/jmeter/index.html">http://jakarta.apache.org/jmeter/index.html</a>下载源代码和查看相关文档。 </p>
		<p>
				<strong>1 JMeter作用领域</strong>
		</p>
		<p>JMeter可以用于测试静态或者动态资源的性能（文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资
源）。JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力，或者分析他们提供的服务在不同负载条件下的总性能情
况。你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。 </p>
		<p>
				<strong>2 使用JMeter测试Web应用</strong>
		</p>
		<p>接下来的章节里，作者将详细的演示如何使用JMeter来测试Web应用的完整过程。 </p>
		<p>
				<strong>2.1 测试环境</strong>
		</p>
		<p>作者使用了Tomcat作为Web服务器进行测试，被测试的内容是一个jsp文件和一个servlet，jsp文件调用JavaBean、打印相关
信息，servlet接受用户参数、调用javabean、输出相关信息。详细的内容请参考作者提供的JMeter.war的内容。 </p>
		<p>
				<strong>2.2 安装启动JMeter</strong>
		</p>
		<p>大家可以到通过<a href="http://apache.linuxforum.net/dist/jakarta/jmeter/binaries/jakarta-jmeter-1.9.1.zip">http://apache.linuxforum.net/dist/jakarta/jmeter/binaries/jakarta-jmeter-1.9.1.zip</a>下
载JMeter的release版本，然后将下载的.zip文件解压缩到C:/JMeter（后面的文章中将使用%JMeter%来引用这个目录）目录
下。现在，请使用%JMeter%/bin下面的jmeter.bat批处理文件来启动JMeter的可视化界面，下面的工作都将在这个可视化界面界面上
进行操作。下面的图片是JMeter的可视化界面的屏幕截图。</p>
		<p>
				<br />
		</p>
		<table style="width: auto;">
				<tbody>
						<tr>
								<td>
										<a href="http://picasaweb.google.com/lh/photo/nXVK_3oPqXi4kqRrjXOCNw?feat=embedwebsite">
												<img src="http://lh4.ggpht.com/_LOSdPStiIUI/SjGown0EfXI/AAAAAAAACBA/RGHY--R9LhQ/s400/274875.gif.jpg" border="0" />
										</a>
								</td>
						</tr>
						<tr>
								<td style="text-align: right; font-family: arial,sans-serif; font-size: 11px;">发件人 <a href="http://picasaweb.google.com/yustarwang/IT?feat=embedwebsite">IT</a></td>
						</tr>
				</tbody>
		</table>
		<p>
		</p>
		<p>图一： JMeter打开时的屏幕截图 </p>
		<p>
				<strong>2.3 建立测试计划（Test Plan）</strong>
		</p>
		<p>测试计划描述了执行测试过程中JMeter的执行过程和步骤，一个完整的测试计划包括一个或者多个线程组(Thread
Groups)、逻辑控制（Logic Controller）、实例产生控制器（Sample Generating
Controllers）、侦听器(Listener)、定时器（Timer）、比较（Assertions）、配置元素（Config
Elements）。打开JMeter时，它已经建立一个默认的测试计划,一个JMeter应用的实例只能建立或者打开一个测试计划。现在我们开始填充一
个测试计划的内容，这个测试计划向一个jsp文件和一个servlet发出请求，我们需要JMeter模拟五个请求者（也就是五个线程），每个请求者连续
请求两次，下面的章节介绍了详细的操作步骤。 </p>
		<p>
				<strong>2.4 增加负载信息设置</strong>
		</p>
		<p>这一步，我们将向测试计划中增加相关负载设置,是Jmeter知道我们需要模拟五个请求者，每个请求者在测试过程中连续请求两次。详细步骤如下： </p>
		<p>1. 选中可视化界面中左边树的Test Plan节点，单击右键，选择Add’Thread Group，界面右边将会出现他的设置信息框。 </p>
		<p>2. Thread Group有三个和负载信息相关的参数： </p>
		<p>Number of Threads： 设置发送请求的用户数目 </p>
		<p>Ramp-up period： 每个请求发生的总时间间隔，单位是秒。比如你的请求数目是5，而这个参数是10，那么每个请求之间的间隔就是10／5，也就是2秒 </p>
		<p>Loop Count： 请求发生的重复次数，如果选择后面的forever（默认），那么 请求将一直继续，如果不选择forever，而在输入框中输入数字，那么请求将重复 指定的次数，如果输入0，那么请求将执行一次。 </p>
		<p>根据我们演示例子的设计，我们应该将Number of Threads设置为5，Ramp-up period设置为0（也就是同时并发请求），不选中forever，在Loop Count后面的输入框中输入2，设置后的屏幕截图如下： </p>
		<p>
				<br />
		</p>
		<table style="width: auto;">
				<tbody>
						<tr>
								<td>
										<a href="http://picasaweb.google.com/lh/photo/IIcX-RrG8APfyKKGPCUZ5A?feat=embedwebsite">
												<img src="http://lh5.ggpht.com/_LOSdPStiIUI/SjGpIPmv8GI/AAAAAAAACBg/lAlnL6Lo57A/s400/274876.gif.jpg" border="0" />
										</a>
								</td>
						</tr>
						<tr>
								<td style="text-align: right; font-family: arial,sans-serif; font-size: 11px;">发件人 <a href="http://picasaweb.google.com/yustarwang/IT?feat=embedwebsite">IT</a></td>
						</tr>
				</tbody>
		</table>
		<p>
		</p>
		<p>图二：设置好参数的Thread Group。 </p>
		<p>
				<strong>2.5 增加默认Http属性（可选）</strong>
		</p>
		<p>实际的测试工作往往是针对同一个服务器上Web应用展开的,所以Jmeter提供了这样一种设置,
在默认Http属性设置需要被测试服务器的相关属性，以后的http请求设置中就可以忽略这些相同参数的设置,减少设置参数录入的时间。我们这里将采用这
种属性。你可以通过下面的步骤来设置默认http属性： </p>
		<p>1. 选中可视化界面中左边树的Test Plan节点，单击右键，选择Add’config element’http request defaults，界面右边将会出现他的设置信息框。 </p>
		<p>2. 默认http属性的主要参数说明如下： </p>
		<p>protocal：发送测试请求时使用的协议 </p>
		<p>server name or ip：被测试服务器的ip地址或者名字 </p>
		<p>path： 默认的起始位置。比如将path设置为／jmeter，那么所有的http请求的url中都将增加／jmeter路径。 </p>
		<p>port number： 服务器提供服务的端口号 </p>
		<p>我们的测试计划将针对本机的Web服务器上的Web应用进行测试，所以protocal应该是http，ip使用localhost，因为这个
web应用发布的context路径是／jmeter，所以这里的path设置为／jmeter，因为使用Tomcat服务器，所以port
number是8080。设置后的屏幕截图如下： </p>
		<table style="width: auto;">
				<tbody>
						<tr>
								<td>
										<a href="http://picasaweb.google.com/lh/photo/JcRfmHi7bnpGzTzkqPX2Jg?feat=embedwebsite">
												<img src="http://lh5.ggpht.com/_LOSdPStiIUI/SjGph7U8tNI/AAAAAAAACCE/9OROQrTLZRM/s400/274877.gif.jpg" border="0" />
										</a>
								</td>
						</tr>
						<tr>
								<td style="text-align: right; font-family: arial,sans-serif; font-size: 11px;">发件人 <a href="http://picasaweb.google.com/yustarwang/IT?feat=embedwebsite">IT</a></td>
						</tr>
				</tbody>
		</table>
		<p>图三： 测试计划中使用的默认Http参数 </p>
		<p>
				<strong>2.6 增加Http请求</strong>
		</p>
		<p>现在我们需要增加http请求了，他也是我们测试的内容主体部分。你可以通过下面的步骤来增加性的http请求： </p>
		<p>1. 选中可视化界面中左边树的Thread Group节点，单击右键，选择Add’sampler’http request，界面右边将会出现他的设置信息框。 </p>
		<p>2. 他的参数和2.5中介绍的http属性差不多，增加的属性中有发送http时方法的选择，你可以选择为get或者post。 </p>
		<p>我们现在增加两个http 请求，因为我们设置了默认的http属性，所以和默认http属性中相同的属性不再重复设置。设置后的屏幕截图如下：</p>
		<table style="width: auto;">
				<tbody>
						<tr>
								<td>
										<a href="http://picasaweb.google.com/lh/photo/Vke0EU6ywyYKrHN3rs2dow?feat=embedwebsite">
												<img src="http://lh6.ggpht.com/_LOSdPStiIUI/SjGphio-u3I/AAAAAAAACCA/sM2IWLwy2sI/s400/274878.gif.jpg" border="0" />
										</a>
								</td>
						</tr>
						<tr>
								<td style="text-align: right; font-family: arial,sans-serif; font-size: 11px;">发件人 <a href="http://picasaweb.google.com/yustarwang/IT?feat=embedwebsite">IT</a></td>
						</tr>
				</tbody>
		</table>
		<p>图四：设置好的jsp测试请求     </p>
		<table style="width: auto;">
				<tbody>
						<tr>
								<td>
										<a href="http://picasaweb.google.com/lh/photo/SbqKK2jp7aQlAa-U5JMTVA?feat=embedwebsite">
												<img src="http://lh3.ggpht.com/_LOSdPStiIUI/SjGqPvsv_II/AAAAAAAACCo/ghNera2D8bw/s400/274879.gif.jpg" border="0" />
										</a>
								</td>
						</tr>
						<tr>
								<td style="text-align: right; font-family: arial,sans-serif; font-size: 11px;">发件人 <a href="http://picasaweb.google.com/yustarwang/IT?feat=embedwebsite">IT</a></td>
						</tr>
				</tbody>
		</table>
		<p>图五：设置好的Servlet测试请求（带参数） </p>
		<p>
				<strong>2.7 增加Listener</strong>
		</p>
		<p>增加listener是为了记录测试信息并且可以使用Jmeter提供的可视化界面查看测试结果，里面有好几种结果分析方式可供选择，你可以根据自
己习惯的分析方式选择不同的结果显示方式，我们这里使用表格的形式来查看和分析测试结果。你可以通过下面的步骤来增加listener： </p>
		<p>1. 选中可视化界面中左边树的Test Plan节点，单击右键，选择Add’listener’view result in table，界面右边将会出现他的设置信息和结果显示框。 </p>
		<p>2.
你可以设置界面上面的filename属性设置将测试结果保存到某个文件中界面下面将使用表格显示测试结果，表格的第一列sampleno显示请求执行的
顺序和编号，url显示请求发送的目标，sample－ms列显示这个请求完成耗费的时间，最后的success列显示改请求是否成功执行。界面的最下面
你还可以看到一些统计信息，最关心的应该是Average吧，也就是相应的平均时间。 </p>
		<p>
				<strong>2.8 开始执行测试计划</strong>
		</p>
		<p>现在你可以通过单击菜单栏run -&gt; Start开始执行测试计划了。下面这两个图是作者第一次、第二次执行该测试计划的结果图: </p>
		<p>
				<br />
		</p>
		<table style="width: auto;">
				<tbody>
						<tr>
								<td>
										<a href="http://picasaweb.google.com/lh/photo/ogG7pvsnTDQpvC9XXIS76A?feat=embedwebsite">
												<img src="http://lh5.ggpht.com/_LOSdPStiIUI/SjGqooL9GMI/AAAAAAAACDI/5h3Wip0wXVU/s400/274881.gif.jpg" border="0" />
										</a>
								</td>
						</tr>
						<tr>
								<td style="text-align: right; font-family: arial,sans-serif; font-size: 11px;">发件人 <a href="http://picasaweb.google.com/yustarwang/IT?feat=embedwebsite">IT</a></td>
						</tr>
				</tbody>
		</table>
		<p>图六：第一次执行后的结果显示     </p>
		<table style="width: auto;">
				<tbody>
						<tr>
								<td>
										<a href="http://picasaweb.google.com/lh/photo/Pf1iiUl-Jvg-94K64HhHmQ?feat=embedwebsite">
												<img src="http://lh3.ggpht.com/_LOSdPStiIUI/SjGqo-MGT2I/AAAAAAAACDM/Wfs9sUqEB4s/s400/274880.gif.jpg" border="0" />
										</a>
								</td>
						</tr>
						<tr>
								<td style="text-align: right; font-family: arial,sans-serif; font-size: 11px;">发件人 <a href="http://picasaweb.google.com/yustarwang/IT?feat=embedwebsite">IT</a></td>
						</tr>
				</tbody>
		</table>
		<p>图七：第二次执行的结果显示 </p>
		<p>大家可以看到第一次执行时的几个大时间值均来自于jsp request，这可以通过下面的理由进行解释：jsp执行前都需要被编译成.class文件。所以第二次的结果才是正常的结果。 </p>
		<p>
				<strong>3 总结</strong>
		</p>
		<p>JMeter用于进行供能或者性能测试，通过使用JMeter提供的供能，我们可以可视化的制定测试计划：包括规定使用什么样的负载、测试什么内容、传入的参数，同时，他提供了好多种图形化的测试结果显示方式，使我们能够简单的开始测试工作和分析测试结果。 </p>
		<p>本文中，作者根据自己的使用经验，详细演示了如何使用JMeter来进行Web测试的全部过程，简单的介绍了JMeter提供测试结果的图形化显示
界面中相关参数的含义。希望能够帮助大家学会使用JMeter的基本知识，同时，大家可以参考这个过程和JMeter的帮助文档来实现对java对象、数
据库等的测试过程。 </p>
<img src ="http://www.blogjava.net/duanzhimin528/aggbug/305266.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/duanzhimin528/" target="_blank">DZM.528</a> 2009-12-09 12:12 <a href="http://www.blogjava.net/duanzhimin528/archive/2009/12/09/305266.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Maven集成 - Eclipse IDE</title><link>http://www.blogjava.net/duanzhimin528/archive/2009/12/09/305262.html</link><dc:creator>DZM.528</dc:creator><author>DZM.528</author><pubDate>Wed, 09 Dec 2009 04:05:00 GMT</pubDate><guid>http://www.blogjava.net/duanzhimin528/archive/2009/12/09/305262.html</guid><wfw:comment>http://www.blogjava.net/duanzhimin528/comments/305262.html</wfw:comment><comments>http://www.blogjava.net/duanzhimin528/archive/2009/12/09/305262.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/duanzhimin528/comments/commentRss/305262.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/duanzhimin528/services/trackbacks/305262.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: To install m2eclipse, use the following Eclipse update site to install the core of the m2eclipse plugin. This Core update site contains a single component: "Maven Integration for Eclipse (Required)". When you install this component you will be installing all of the core Wizards, the POM Editor, Maven Repository integration, and Maven integration: m2eclipse Plugin: http://m2eclipse.sonatype.org/sites/m2e&nbsp;&nbsp;<a href='http://www.blogjava.net/duanzhimin528/archive/2009/12/09/305262.html'>阅读全文</a><img src ="http://www.blogjava.net/duanzhimin528/aggbug/305262.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/duanzhimin528/" target="_blank">DZM.528</a> 2009-12-09 12:05 <a href="http://www.blogjava.net/duanzhimin528/archive/2009/12/09/305262.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>