<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[Java伴侣 - Sevrice&IDE]]></title>
  <subtitle type="html"><![CDATA[关于工作、学习与生活]]></subtitle>
  <id>http://www.javamilk.org/</id>
  <link rel="alternate" type="text/html" href="http://www.javamilk.org/" /> 
  <link rel="self" type="application/atom+xml" href="http://www.javamilk.org/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.8">PJBlog3</generator> 
  <updated>2009-09-18T09:00:18+08:00</updated>

  <entry>
	  <title type="html"><![CDATA[Visual SourceSafe中的权限管理]]></title>
	  <author>
		 <name>Java伴侣</name>
		 <uri>http://www.javamilk.org/</uri>
		 <email>blurxx@yahoo.cn</email>
	  </author>
	  <category term="" scheme="http://www.javamilk.org/default.asp?cateID=18" label="Sevrice&amp;IDE" /> 
	  <updated>2009-09-18T09:00:18+08:00</updated>
	  <published>2009-09-18T09:00:18+08:00</published>
		  <summary type="html"><![CDATA[如今随着软件项目规模的日益增大以及项目复杂性的不断加剧，软件配置管理（SCM）的重要性已越来越受到大家的认可。许多优秀的软件配置管理工具也应运而生，使得我们能够轻松有效地管理我们的软件项目。作为这其中的一员，Microsoft Visual SourceSafe具有简单易用、方便高效、与Windows操作系统及微软开发工具高度集成等优点。今天，我们就来讲讲VSS中的权限管理。<br/>&nbsp;&nbsp;&nbsp;&nbsp;首先我将讲解VSS中权限机制实现的原理，这里面涉及到VSS的默认安全访问机制、项目安全等内容，接着我将告诉实现权限机制的具体方法，最后我将结合一个软件移交项目的具体情况来谈谈权限管理如何应用到实际的项目过程中。 <br/>一、VSS默认的安全访问控制<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;每次你安装VSS以后，系统自动激活默认的安全访问控制机制。这套机制非常简单，它包括两个等级的权限：<br/>&nbsp;&nbsp;&nbsp;&nbsp;1. 只读权限：用户可以查看VSS数据库中的所有对象，但是不能够修改；<br/>&nbsp;&nbsp;&nbsp;&nbsp;2. 读写权限：用户可以查看和修改VSS数据库中的任何对象。<br/>&nbsp;&nbsp;&nbsp;&nbsp;每次你增加新用户的时候，你可以决定该用户的权限等级。在“Add User”对话框中包含一个“Read Only”复选框，你可以通过它来确定用户具有的权限。<br/>&nbsp;&nbsp;&nbsp;&nbsp;我们前面说过这只是个极其简单、粗线条的解决方案，但同时也是最简单的。在实际过程中，你可能需要更细化的权限分配，甚至希望每个文件针对不同的用户都能设置不同的权限。那我们就得亲自动手设置我们项目的安全机制。 <br/>&nbsp;&nbsp;&nbsp;&nbsp;注意：SourceSafe中的所有安全设置都是在Visual SourceSafe Administrator中进行的，所以在深入以下细节之前，你必须确认一件事情：你的Admin密码足够安全，除你之外没有任何人可以随心所欲地进入Visual SourceSafe Administrator。否则，一切安全考虑都是徒劳。<br/><br/>二、项目安全与用户访问权限<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在讲解项目安全之前我们先来回顾一下VSS的基本组成框架。VSS包含多个数据库（database），每个数据库又包含许多的项目，而且可能项目里嵌套着不同的子项目，最后才是你的源文件。你可以把这个类比成操作系统中的磁盘分区、目录、子目录、文件，每台机器包含许多的磁盘分区，每个分区中包含无数个目录、子目录，在子目录下才是你的文件。VSS中的用户是基于VSS数据库的，也就是说每个数据库都包含有自己的用户清单。用户访问权限意思是用户可以访问（包括查看、修改和执行命令等）数据库中的哪些项目，对项目来说就是它只能被那些已经授权的用户访问，也就是所谓的项目安全。<br/>&nbsp;&nbsp;&nbsp;&nbsp;很遗憾VSS只提供了到项目（对应于目录）的用户权限控制，并不能针对每个文件来设置不同的用户访问权限（比如Rational ClearCase等就提供此功能）。虽然你可以用某种变通的方法来做到这一点，比如增加子项目，不过那样就破坏了整个项目结构的规范性、可读性和合理性，甚至产生些无任何意义的子项目。<br/>&nbsp;&nbsp;&nbsp;&nbsp;VSS定义了四级用户访问权限，级别由低到高，后者包括所有前者的权限，比如说拥有Check Out权限就自动拥有了读的权限。<br/>&nbsp;&nbsp;&nbsp;&nbsp;1. 只读（R）：允许查看文件，对应于View、Get等命令；<br/>&nbsp;&nbsp;&nbsp;&nbsp;2. Check Out（C）：可以使用Check Out，Check In，Undo Check Out等命令修改文件内容；<br/>&nbsp;&nbsp;&nbsp;&nbsp;3. 文件增删（A）：可以在项目中增加、删除、重命名文件或者给文件加标签，对应的命令有Add，Del&#101;te，Label，Rename等；<br/>&nbsp;&nbsp;&nbsp;&nbsp;4. 破坏（D）：这级权限对应于那些具有巨大破坏性的操作（就是那些一不小心就可能被炒鱿鱼的操作），请牢记它们的名字：Destroy，Purge，Rollback。所以亦有人戏称之为自杀权限。<br/>&nbsp;&nbsp;&nbsp;&nbsp;其实你可以发现默认安全机制中的两级权限是和这四者对应起来的，只不过后者把前者的读写权限细分为三个不同的级别。好啦，了解每级权限各自的含义之后我们就可以开始设置不同用户的权限啦。<br/>&nbsp;&nbsp;&nbsp;&nbsp;设置用户权限之前，你必须激活项目安全机制。打开VSS Administrator的Tools菜单，点击“Options”得到SourceSafe Options对话框，选取“Project Security”，并且勾上“Enable project security”复选框。（如下图所示）<br/><br/><img src="http://www.javamilk.org/download.asp?id=4&amp;code=4152AEC2BB" border="0" alt=""/><br/>图1 激活项目安全机制<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;VSS中有三种方法可以设置用户的项目访问权限：针对项目设置每个用户的权限，针对用户设置访问每个项目的权限，拷贝用户权限，它们分别对应于Tools菜单下的Assign Rights by Project，Rights Assignments for User，Copy User Rights。我们以方法一为例做一简单说明。如下图所示，在左边框中选定项目，在右上框中选定用户，右下脚的User rights中就显示该用户现具有的权限，选中不同的复选框来设置你自己的权限。注意：对每个项目的用户权限设置自动反映到该项目的所有子项目中。 <br/><br/><img src="http://www.javamilk.org/download.asp?id=5&amp;code=29F40903B9" border="0" alt=""/><br/>图2 用户授权<br/><br/>三、权限管理在实际项目中的应用<br/>&nbsp;&nbsp;&nbsp;&nbsp;在本小节中，我主要结合在实际项目过程中作为配置管理员的经验来谈谈权限管理的实际应用，以及在应用过程中需要考虑的因素。<br/>&nbsp;&nbsp;&nbsp;&nbsp;我们要接触的这个项目为一软件移交的项目，这个项目团队的成员组成和职责分配如下：<br/>&nbsp;&nbsp;&nbsp;&nbsp;项目经理：1人，负责协调整个项目。<br/>&nbsp;&nbsp;&nbsp;&nbsp;业务分析师：1人，负责整个系统业务的掌握。<br/>&nbsp;&nbsp;&nbsp;&nbsp;系统架构师：1人，负责整个系统的系统架构。<br/>&nbsp;&nbsp;&nbsp;&nbsp;Package Owner：3人，分别负责系统前端、中间层及后台数据库三个部分。<br/>&nbsp;&nbsp;&nbsp;&nbsp;模块负责人：3-5人，分别负责各个模块。<br/>&nbsp;&nbsp;&nbsp;&nbsp;数据库管理员（DBA）：1人，负责系统数据库。<br/>&nbsp;&nbsp;&nbsp;&nbsp;Test/QA：1人，负责整个软件的测试和质量保证。<br/>&nbsp;&nbsp;&nbsp;&nbsp;Technical Writer：1人，负责相关技术文档的写作。<br/>&nbsp;&nbsp;&nbsp;&nbsp;变更控制委员会（CCB）：3人，负责项目需求的变更审核及执行，包括软件配置管理员，外方项目经理。<br/>&nbsp;&nbsp;&nbsp;&nbsp;实际过程中大多会发生人员交叉现象，比如我们项目的实际人数就只有9人，项目经理又同时是CCB中的一员，Package Owner同时兼任模块负责人。根据我们项目的实际组成情况，我在VSS中给出了如下所示的项目结构：<br/><br/><img src="http://www.javamilk.org/download.asp?id=6" border="0" alt=""/><br/><br/>图3 VSS项目结构<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;图示说明：<br/><br/>exec项目中主要存放项目可执行文件或者软件安装文件，由于该项目比较复杂，建立过程耗时长且比较复杂，所以直接在VSS中存放可执行文件。一般的项目不推荐这样使用。 <br/>图中只是显示整个项目结构的主要部分，省略了细节部分，比如client项目中包含有许多的小项目。 <br/>&nbsp;&nbsp;&nbsp;&nbsp;接下来，就需要为每个项目、子项目设置不同的用户访问权限。由于所有的软件重大变更都需要交由CCB审核签字后方可执行，所以我们把整个项目的D（6）级权限赋给CCB成员。而项目经理主要负责项目的整体进度的把握以及与外方项目组、其他部门的协调工作，所以拥有整个项目的R权限并且拥有development document的A权限。配置管理员的权限有两者可能，一种就是拥有整个项目的A权限，另外一种可能就是只拥有部分项目的A权限，这主要取决于赋予给配置管理员的实际权限有多大。以此类推，各个模块负责人拥有各自模块的A权限。此外由于移交项目的特殊性，一般在项目开始过程中主要以培训为主，很少涉及到软件的修改，所以建议在项目开始阶段不赋予开发工程师用户C权限以免引起不必要的错误和争论。<br/><br/>总结<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;本文通过讨论VSS中权限管理实现的具体机制，并且结合例子讲解了在实际过程中的应用。虽然移交项目有着它本身的特殊性，但我相信对于任何项目来说其安全管理的基本思路是相通的，希望此文能够给大家以一定的启示和借鉴。<br/><br/>参考<br/><br/>本文中会大量涉及到“项目”一词，有的时候它是指实际的软件项目，有时它又是指VSS数据库中的项目、子项目，请注意区分。 <br/>有关软件配置管理的更详细信息，可以参考本网站相关内容。软件配置管理主要包括版本管理、变更管理、权限管理等方面，本文主要涉及权限管理。 <br/>软件版本采用Microsoft Visual SourceSafe 6.0英文版，其他的版本请进行相应的对照。 <br/>所有这些命令的详细信息可以参考VSS帮助。 <br/>项目背景大致介绍：所移交的软件为一国外公司的软件，是基于Microsoft的DNA架构的三层应用，代码量为150万行左右。移交的目标：掌握现有系统，充分了解相关的商业逻辑，为以后开发出自己的符合中国国情的软件做好充分的准备。这其中可能涉及到需求的再分析、系统的重新架构以及向Java平台的迁移。 <br/>我们分别用R、C、A、D来表示VSS中的四级权限Read，Check Out，Add，Destroy。 <br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.javamilk.org/article.asp?id=1257" /> 
	  <id>http://www.javamilk.org/default.asp?id=1257</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[天枫所见所得UBB编辑器调用方法]]></title>
	  <author>
		 <name>Java伴侣</name>
		 <uri>http://www.javamilk.org/</uri>
		 <email>blurxx@yahoo.cn</email>
	  </author>
	  <category term="" scheme="http://www.javamilk.org/default.asp?cateID=18" label="Sevrice&amp;IDE" /> 
	  <updated>2009-09-11T10:34:18+08:00</updated>
	  <published>2009-09-11T10:34:18+08:00</published>
		  <summary type="html"><![CDATA[添加内容时调用编辑器方法:<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code10262);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.javamilk.org/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code10262>&lt;textarea name=&#34;content&#34; cols=&#34;80&#34; rows=&#34;15&#34; id=&#34;content&#34; style=&#34;display:none&lt;/textarea&gt;<br/>&lt;iframe ID=&#34;Editor&#34; name=&#34;Editor&#34; src=&#34;路径/ubb/edit.htm?id=content&#34; frameBorder=&#34;0&#34; marginHeight=&#34;0&#34; marginWidth=&#34;0&#34; scrolling=&#34;No&#34; style=&#34;height:320;width:100%&#34;&gt;&lt;/iframe&gt;</div></div><br/><br/>编辑内容时调用编辑器方法:<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code87427);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.javamilk.org/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code87427>&lt;textarea name=&#34;content&#34; cols=&#34;80&#34; rows=&#34;15&#34; id=&#34;content&#34; style=&#34;display:none&#34;&gt;&lt;%=server.htmlencode(content)%&gt;&lt;/textarea&gt;<br/>&lt;iframe ID=&#34;Editor&#34; name=&#34;Editor&#34; src=&#34;路径/ubb/edit.htm?id=content&#34; frameBorder=&#34;0&#34; marginHeight=&#34;0&#34; marginWidth=&#34;0&#34; scrolling=&#34;No&#34; style=&#34;height:320;width:100%&#34;&gt;&lt;/iframe&gt;</div></div><br/><br/>显示数据库的内容方法:<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code82491);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.javamilk.org/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code82491>1、在要显示的页面包含ubb.asp<br/>2、 ubbcode(server.htmlencode(rs(&#34;content&#34;)))</div></div>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.javamilk.org/article.asp?id=1246" /> 
	  <id>http://www.javamilk.org/default.asp?id=1246</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[修改eclipse自动生成的comments中的author名字]]></title>
	  <author>
		 <name>Java伴侣</name>
		 <uri>http://www.javamilk.org/</uri>
		 <email>blurxx@yahoo.cn</email>
	  </author>
	  <category term="" scheme="http://www.javamilk.org/default.asp?cateID=18" label="Sevrice&amp;IDE" /> 
	  <updated>2009-09-10T08:37:00+08:00</updated>
	  <published>2009-09-10T08:37:00+08:00</published>
		  <summary type="html"><![CDATA[@author ${user} <br/><br/> ${user} 赋值：<br/>新建Eclipse快捷方式<br/>右键 属性 快捷方式选项卡 目标输入眶<br/>X:\....\eclipse\eclipse.exe -vmargs -Duser.name=&#34;你的名字&#34;<br/>确定<br/>通过该快捷方式打开Eclipse OK~~<br/><br/>另外一种方法：<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这几天要对项目的源代码生成JavaDoc，而Eclipse自动生成的comments中的author名字默认是当前系统的用户名，例如我的系统用户名是user<br/> /**<br/>&nbsp;&nbsp;&nbsp;&nbsp;* @author user<br/>&nbsp;&nbsp;&nbsp;&nbsp;*<br/>&nbsp;&nbsp;&nbsp;&nbsp;*/<br/> <br/>我总是要改为我自己的姓名，这多繁琐啊！现在算有空了，百度看看，网上有人说新建一个code Template，目前只看到这种网上提供的方法！<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 后来我决定自己探索Eclipse的配置页面，最终找到了不用新建code Template，而是直接修改code Template！<br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. 先看看Eclipse相关配置界面的默认值：<br/><br/><img src="http://www.javamilk.org/attachments/month_0909/y200991083554.png" border="0" alt=""/><br/> <br/><br/> <br/>大家要记住是在哪一个页面，哪一项啊！<br/> <br/>2. 看到默认是@author $(user)，现在来修改它，然而是不能直接在下面显示的文本区修改的！需要点击上面的“Edit”，这样就会弹出对话框，修改里面的内容：<br/> <br/><img src="http://www.javamilk.org/attachments/month_0909/z200991083614.png" border="0" alt=""/><br/><br/> <br/>OK，然后回到原来的看到内容已经修改了，这时要记得点击第一幅图的右下角Apply，最后点击OK，完成了！]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.javamilk.org/article.asp?id=1236" /> 
	  <id>http://www.javamilk.org/default.asp?id=1236</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[Eclipse不能编译，不能产生class文件的解决方案]]></title>
	  <author>
		 <name>Java伴侣</name>
		 <uri>http://www.javamilk.org/</uri>
		 <email>blurxx@yahoo.cn</email>
	  </author>
	  <category term="" scheme="http://www.javamilk.org/default.asp?cateID=18" label="Sevrice&amp;IDE" /> 
	  <updated>2009-04-16T10:22:51+08:00</updated>
	  <published>2009-04-16T10:22:51+08:00</published>
		  <summary type="html"><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;以前也碰到过这个问题，还以为Eclipse的问题，只是傻傻的化大时间去重装一边Eclipse，今天又碰到这个问题了， JAVA类完全正确， 引入的包也正确，设置的输出路径也正确，当我用Clean命令后，Eclipse再也不肯把java文件编译成class了，立马去网上找，都说没有开自动编译命令，但是我都开了啊。。。。不行自己研究。。<br/><br/>&nbsp;&nbsp; 哇，总有发现新大陆了：<br/><br/>&nbsp;&nbsp; 在 project--&gt;source里面，发现提示： 1 source folder path missing....<br/><br/>&nbsp;&nbsp; 原来， 我直接把missing的文件给删掉了， 回到工程界面后，class文件自动跳出来了，3K GOD。。<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.javamilk.org/article.asp?id=1111" /> 
	  <id>http://www.javamilk.org/default.asp?id=1111</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[Eclipse字符编码问题]]></title>
	  <author>
		 <name>Java伴侣</name>
		 <uri>http://www.javamilk.org/</uri>
		 <email>blurxx@yahoo.cn</email>
	  </author>
	  <category term="" scheme="http://www.javamilk.org/default.asp?cateID=18" label="Sevrice&amp;IDE" /> 
	  <updated>2009-03-16T16:12:58+08:00</updated>
	  <published>2009-03-16T16:12:58+08:00</published>
		  <summary type="html"><![CDATA[用Eclipse在项目中加入一个文件,里面输入有中文字符，在保存时提示： <br/>“未能完成保存 ，原因: 使用&#39;iso-8859-1&#39;字符编码时,无法映射某些字符 更改编码时,或者除去&#39;iso-8859-1&#39;字符编码不支持的字符。”<br/><br/>如果是jsp文件的话可以直接在头行内容当中添加pageEncoding=“gb2312”解决此问题，如果你在项目中添加的文件非jsp文件，一个解决此问题的简单有效的办法是：<br/><br/>1.把你的文件内容(带中文的)考到一个txt文件中(如a.txt) <br/>2.打开cmd控制台，用命令native2ascii转换，命令格式为： native2ascii a.txt b.txt <br/>3.把b.txt的内容考回到文件就可以使用了 <br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.javamilk.org/article.asp?id=1089" /> 
	  <id>http://www.javamilk.org/default.asp?id=1089</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[eclipse 快捷键]]></title>
	  <author>
		 <name>Java伴侣</name>
		 <uri>http://www.javamilk.org/</uri>
		 <email>blurxx@yahoo.cn</email>
	  </author>
	  <category term="" scheme="http://www.javamilk.org/default.asp?cateID=18" label="Sevrice&amp;IDE" /> 
	  <updated>2008-11-07T14:09:12+08:00</updated>
	  <published>2008-11-07T14:09:12+08:00</published>
		  <summary type="html"><![CDATA[Ctrl+1 快速修复(最经典的快捷键,就不用多说了) <br/>Ctrl+D: 删除当前行 <br/><br/>Ctrl+Alt+↓ 复制当前行到下一行(复制增加) <br/>Ctrl+Alt+↑ 复制当前行到上一行(复制增加) <br/><br/>Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) <br/>Alt+↑ 当前行和上面一行交互位置(同上) <br/>Alt+← 前一个编辑的页面 <br/>Alt+→ 下一个编辑的页面(当然是针对上面那条来说了) <br/><br/>Alt+Enter 显示当前选择资源(工程,or 文件 o&#114;文件)的属性 <br/><br/>Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后) <br/>Shift+Ctrl+Enter 在当前行插入空行(原理同上条) <br/><br/>Ctrl+Q 定位到最后编辑的地方 <br/>Ctrl+L 定位在某行 (对于程序超过100的人就有福音了) <br/>Ctrl+M 最大化当前的Edit或View (再按则反之) <br/>Ctrl+/ 注释当前行,再按则取消注释 <br/>Ctrl+O 快速显示 OutLine <br/>Ctrl+T 快速显示当前类的继承结构 <br/>Ctrl+W 关闭当前Editer <br/>Ctrl+K 参照选中的Word快速定位到下一个 <br/>Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示) <br/><br/>Ctrl+/(小键盘) 折叠当前类中的所有代码 <br/><br/>Ctrl+×(小键盘) 展开当前类中的所有代码 <br/><br/>Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替) <br/><br/>Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作) <br/><br/>Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了) <br/><br/>Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查) <br/><br/>Ctrl+Shift+F4 关闭所有打开的Editer <br/><br/>Ctrl+Shift+X 把当前选中的文本全部变为大写 <br/><br/>Ctrl+Shift+Y 把当前选中的文本全部变为小写 <br/><br/>Ctrl+Shift+F 格式化当前代码 <br/><br/>Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之) <br/><br/>Ctrl+Shift+R 查找文件 <br/><br/>Ctrl+Shift+T 查找类 <br/><br/><br/><br/>Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力) <br/><br/>Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用) <br/><br/>Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定) <br/><br/>Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候) <br/><br/>Alt+Shift+F 把Class中的local变量变为field变量 <br/><br/>Alt+Shift+I 合并变量 <br/>Alt+Shift+V 移动函数和变量 <br/>Alt+Shift+Z 重构的后悔药(Undo) <br/><br/><br/>////////////////////////// <br/>编辑 <br/>作用域 功能 快捷键 <br/>全局 查找并替换 Ctrl+F <br/>文本编辑器 查找上一个 Ctrl+Shift+K <br/>文本编辑器 查找下一个 Ctrl+K <br/>全局 撤销 Ctrl+Z <br/>全局 复制 Ctrl+C <br/>全局 恢复上一个选择 Alt+Shift+↓ <br/>全局 剪切 Ctrl+X <br/>全局 快速修正 Ctrl1+1 <br/>全局 内容辅助 Alt+/ <br/>全局 全部选中 Ctrl+A <br/>全局 删除 Del&#101;te <br/>全局 上下文信息 Alt+？ <br/>Alt+Shift+? <br/>Ctrl+Shift+Space <br/>Java编辑器 显示工具提示描述 F2 <br/>Java编辑器 选择封装元素 Alt+Shift+↑ <br/>Java编辑器 选择上一个元素 Alt+Shift+← <br/>Java编辑器 选择下一个元素 Alt+Shift+→ <br/>文本编辑器 增量查找 Ctrl+J <br/>文本编辑器 增量逆向查找 Ctrl+Shift+J <br/>全局 粘贴 Ctrl+V <br/>全局 重做 Ctrl+Y <br/><br/><br/>查看 <br/>作用域 功能 快捷键 <br/>全局 放大 Ctrl+= <br/>全局 缩小 Ctrl+- <br/><br/><br/>窗口 <br/>作用域 功能 快捷键 <br/>全局 激活编辑器 F12 <br/>全局 切换编辑器 Ctrl+Shift+W <br/>全局 上一个编辑器 Ctrl+Shift+F6 <br/>全局 上一个视图 Ctrl+Shift+F7 <br/>全局 上一个透视图 Ctrl+Shift+F8 <br/>全局 下一个编辑器 Ctrl+F6 <br/>全局 下一个视图 Ctrl+F7 <br/>全局 下一个透视图 Ctrl+F8 <br/>文本编辑器 显示标尺上下文菜单 Ctrl+W <br/>全局 显示视图菜单 Ctrl+F10 <br/>全局 显示系统菜单 Alt+- <br/><br/><br/>导航 <br/>作用域 功能 快捷键 <br/>Java编辑器 打开结构 Ctrl+F3 <br/>全局 打开类型 Ctrl+Shift+T <br/>全局 打开类型层次结构 F4 <br/>全局 打开声明 F3 <br/>全局 打开外部javadoc Shift+F2 <br/>全局 打开资源 Ctrl+Shift+R <br/>全局 后退历史记录 Alt+← <br/>全局 前进历史记录 Alt+→ <br/>全局 上一个 Ctrl+, <br/>全局 下一个 Ctrl+. <br/>Java编辑器 显示大纲 Ctrl+O <br/>全局 在层次结构中打开类型 Ctrl+Shift+H <br/>全局 转至匹配的括号 Ctrl+Shift+P <br/>全局 转至上一个编辑位置 Ctrl+Q <br/>Java编辑器 转至上一个成员 Ctrl+Shift+↑ <br/>Java编辑器 转至下一个成员 Ctrl+Shift+↓ <br/>文本编辑器 转至行 Ctrl+L <br/><br/><br/>搜索 <br/>作用域 功能 快捷键 <br/>全局 出现在文件中 Ctrl+Shift+U <br/>全局 打开搜索对话框 Ctrl+H <br/>全局 工作区中的声明 Ctrl+G <br/>全局 工作区中的引用 Ctrl+Shift+G <br/><br/><br/>文本编辑 <br/>作用域 功能 快捷键 <br/>文本编辑器 改写切换 Ins&#101;rt <br/>文本编辑器 上滚行 Ctrl+↑ <br/>文本编辑器 下滚行 Ctrl+↓ <br/><br/><br/>文件 <br/>作用域 功能 快捷键 <br/>全局 保存 Ctrl+X <br/>Ctrl+S <br/>全局 打印 Ctrl+P <br/>全局 关闭 Ctrl+F4 <br/>全局 全部保存 Ctrl+Shift+S <br/>全局 全部关闭 Ctrl+Shift+F4 <br/>全局 属性 Alt+Enter <br/>全局 新建 Ctrl+N <br/><br/><br/>项目 <br/>作用域 功能 快捷键 <br/>全局 全部构建 Ctrl+B <br/><br/><br/>源代码 <br/>作用域 功能 快捷键 <br/>Java编辑器 格式化 Ctrl+Shift+F <br/>Java编辑器 取消注释 Ctrl+\ <br/>Java编辑器 注释 Ctrl+/ <br/>Java编辑器 添加导入 Ctrl+Shift+M <br/>Java编辑器 组织导入 Ctrl+Shift+O <br/><br/>也可以使用Ctrl+1自动修正。 <br/><br/><br/>运行 <br/>作用域 功能 快捷键 <br/>全局 单步返回 F7 <br/>全局 单步跳过 F6 <br/>全局 单步跳入 F5 <br/>全局 单步跳入选择 Ctrl+F5 <br/>全局 调试上次启动 F11 <br/>全局 继续 F8 <br/>全局 使用过滤器单步执行 Shift+F5 <br/>全局 添加/去除断点 Ctrl+Shift+B <br/>全局 显示 Ctrl+D <br/>全局 运行上次启动 Ctrl+F11 <br/>全局 运行至行 Ctrl+R <br/>全局 执行 Ctrl+U <br/><br/><br/>重构 <br/>作用域 功能 快捷键 <br/>全局 撤销重构 Alt+Shift+Z <br/>全局 抽取方法 Alt+Shift+M <br/>全局 抽取局部变量 Alt+Shift+L <br/>全局 内联 Alt+Shift+I <br/>全局 移动 Alt+Shift+V <br/>全局 重命名 Alt+Shift+R <br/>全局 重做 Alt+Shift+Y <br/><br/>热键篇：Template：Alt + /修改处：窗口-&gt;喜好设定-&gt;工作台-&gt;按键-&gt;编辑-&gt;内容辅助。个人习惯：Shift+SPACE(空白)。简易说明：编辑程序代码时，打sysout +Template启动键，就会自动出现：System.out.println(); 。设定Template的格式：窗口-&gt;喜好设定-&gt;Java-&gt;编辑器-&gt;模板。程序代码自动排版：Ctrl+Shift+F修改处：窗口-&gt;喜好设定-&gt;工作台-&gt;按键-&gt;程序代码-&gt;格式。个人习惯：Alt+Z。自动排版设定：窗口-&gt;喜好设定-&gt;Java-&gt;程序代码格式制作程序。样式页面-&gt;将插入tab(而非空格键)以内缩，该选项取消勾选，下面空格数目填4，这样在自动编排时会以空格4作缩排。快速执行程序：Ctrl + F11个人习惯：ALT+X修改处：窗口-&gt;喜好设定-&gt;工作台-&gt;按键-&gt;执行-&gt;启动前一次的启动作业。简易说明：第一次执行时，它会询问您执行模式，设置好后，以后只要按这个热键，它就会快速执行。 <br/>&lt;ALT+Z(排版完)、ATL+X(执行)&gt;..我觉得很顺手^___^自动汇入所需要的类别：Ctrl+Shift+O简易说明：假设我们没有Import任何类别时，当我们在程序里打入： <br/><br/>BufferedReader buf = <br/>new BufferedReader(new InputStreamReader(System.in)); <br/><br/>此时Eclipse会警示说没有汇入类别，这时我们只要按下Ctrl+Shift+O，它就会自动帮我们Import类别。查看使用类别的原始码：Ctrl+鼠标左键点击简易说明：可以看到您所使用类别的原始码。将选取的文字批注起来：Ctrl+/简易说明：Debug时很方便。修改处：窗口-&gt;喜好设定-&gt;工作台-&gt;按键-&gt;程序代码-&gt;批注视景切换：Ctrl+F8个人习惯：Alt+S。修改处：窗口-&gt;喜好设定-&gt;工作台-&gt;按键-&gt;窗口-&gt;下一个视景。简易说明：可以方便我们快速切换编辑、除错等视景。密技篇：一套Eclipse可同时切换，英文、繁体、简体显示： <br/>1.首先要先安装完中文化包。 <br/>2.在桌面的快捷方式后面加上参数即可，英文-&gt; -nl &#34;zh_US&#34;繁体-&gt; -nl &#34;zh_TW&#34;简体-&gt; -nl &#34;zh_CN&#34;。 <br/>(其它语系以此类推)像我2.1.2中文化后，我在我桌面的Eclipse快捷方式加入参数-n1 &#34;zh_US&#34;。 <br/>&#34;C:\Program Files\eclipse\eclipse.exe&#34; -n &#34;zh_US&#34;接口就会变回英文语系噜。利用Eclipse，在Word编辑文书时可不必将程序代码重新编排：将Eclipse程序编辑区的程序代码整个复制下来(Ctrl+C)，直接贴(Ctrl+V)到 <br/>Word或WordPad上，您将会发现在Word里的程序代码格式，跟Eclipse所设定的完全一样，包括字型、缩排、关键词颜色。我曾试过JBuilder、GEL、NetBeans...使用复制贴上时，只有缩排格式一样，字型、颜色等都不会改变。外挂篇：外挂安装：将外挂包下载回来后，将其解压缩后，您会发现features、 <br/>plugins这2个数据夹，将里面的东西都复制或移动到Eclipse的features、plugins数据夹内后，重新启动Eclipse即可。让Eclipse可以像JBuilderX一样使用拖拉方式建构GUI的外挂： <br/>1.Jigloo SWT/Swing GUI Builder ：<a href="http://cloudgarden.com/jigloo/index.html" target="_blank" rel="external">http://cloudgarden.com/jigloo/index.html</a>下载此版本：Jigloo plugin for Eclipse (using Java 1.4 o&#114; 1.5)安装后即可由档案-&gt;新建-&gt;其它-&gt;GUI Form选取要建构的GUI类型。 <br/><br/>2.Eclipse Visual Editor Project：<a href="http://www.eclipse.org/vep/" target="_blank" rel="external">http://www.eclipse.org/vep/</a>点选下方Download Page，再点选Latest Release 0.5.0进入下载。除了VE-runtime-0.5.0.zip要下载外，以下这2个也要： <br/>EMF build 1.1.1: (build page) (download zip) <br/>GEF Build 2.1.2: (build page) (download zip) <br/><br/>3.0 M8版本，请下载： <br/>EMF build I200403250631 <br/>GEF Build I20040330 <br/>VE-runtime-1.0M1安装成功后，便可由File-&gt;New-&gt;Visual Class开始UI设计。安装成功后，即可由新建-&gt;Java-&gt;AWT与Swing里选择所要建构的GUI类型开始进行设计。VE必须配合着对应版本，才能正常使用，否则即使安装成功，使用上仍会有问题。使用Eclipse来开发JSP程序：外挂名称：lomboz(下载页面)<a href="http://forge.obj&#101;ctweb.org/project/showfiles.php?group_id=97" target="_blank" rel="external">http://forge.obj&#101;ctweb.org/project/showfiles.php?group_id=97</a>请选择适合自己版本的lomboz下载，lomboz.212.p1.zip表示2.1.2版， <br/>lomboz.3m7.zip表示M7版本....以此类推。 <br/>lomboz安装以及设置教学：Eclipse开发JSP-教学文件 <br/><br/>Java转exe篇：实现方式：Eclipse搭配JSmooth(免费)。 <br/>1.先由Eclipse制作包含Manifest的JAR。制作教学 <br/>2.使用JSmooth将做好的JAR包装成EXE。 <br/>JSmooth下载页面：<a href="http://jsmooth.sourceforge.net/index.php" target="_blank" rel="external">http://jsmooth.sourceforge.net/index.php</a> <br/>3.制作完成的exe文件，可在有装置JRE的Windows上执行。 <br/><br/>Eclipse-Java编辑器最佳设定：编辑器字型设定：工作台-&gt;字型-&gt;Java编辑器文字字型。 <br/>(建议设定Courier New -regular 10)编辑器相关设定：窗口-&gt;喜好设定-&gt;Java-&gt;编辑器外观：显示行号、强调对称显示的方括号、强调显示现行行、显示打印边距，将其勾选，Tab宽度设4，打印编距字段设80。程序代码协助：采预设即可。语法：可设定关键词、字符串等等的显示颜色。附注：采预设即可。输入：全部字段都勾选。浮动说明：采预设即可。导览：采预设即可。使自动排版排出来的效果，最符合Java设计惯例的设定：自动排版设定：窗口-&gt;喜好设定-&gt;Java-&gt;程序代码制作格式。换行：全部不勾选。分行：行长度上限设：80。样式：只将强制转型后插入空白勾选。内缩空格数目：设为4。 <br/><br/>经常用到的Eclipse快捷键 <br/>存盘 Ctrl+s(一定记住) <br/>注释代码 Ctrl+/ <br/>取消注释 Ctrl+\(Eclipse3已经都合并到Ctrl+/了) <br/>代码辅助 Alt+/ <br/>快速修复 Ctrl+1 <br/>代码格式化 Ctrl+Shift+f <br/>整理导入 Ctrl+Shift+o <br/>切换窗口 Ctrl+f6&lt;可改为ctrl+tab方便&gt; <br/>ctrl+shift+M 导入未引用的包 <br/>ctrl+w 关闭单个窗口 <br/>F3 跳转到类、变量的声明 <br/>F11 运行上次程序 <br/>Ctrl + F11 调试上次程序 <br/>Alt + 回下一个编辑点 <br/>ctrl+shift+T 查找工程中的类]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.javamilk.org/article.asp?id=920" /> 
	  <id>http://www.javamilk.org/default.asp?id=920</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[Could not find a getter for * in class ..]]></title>
	  <author>
		 <name>Java伴侣</name>
		 <uri>http://www.javamilk.org/</uri>
		 <email>blurxx@yahoo.cn</email>
	  </author>
	  <category term="" scheme="http://www.javamilk.org/default.asp?cateID=18" label="Sevrice&amp;IDE" /> 
	  <updated>2008-03-22T11:15:00+08:00</updated>
	  <published>2008-03-22T11:15:00+08:00</published>
		  <summary type="html"><![CDATA[<div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code23542);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.javamilk.org/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code23542>net.sf.hibernate.PropertyNotFoundException:Could not find a getter for isAdmin in class o&#114;der.vo.UserStatus </div></div><br/>&nbsp;&nbsp; 可能会有人纳闷这个Hibernate错误，我怎么会归类到Eclipse分类中，其实我今天遇到这个错误并不关hibernate什么事情，而是eclipse生成的getter/setter方法让hibernate不认，一般来说当值对象VO中有布尔类型变量，那么会把get方法取而代之为is.下面是ecplise自动生成的代码，也是hibernate报错的代码：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code7520);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.javamilk.org/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code7520>private boolean isAdmin; <br/><br/><strong>public boolean isAdmin() {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return isAdmin;<br/>&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;public void setAdmin(boolean isAdmin) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;this.isAdmin = isAdmin;<br/>}</strong></div></div><br/><br/>修改为：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code55586);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.javamilk.org/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code55586>public boolean getIsAdmin() {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return isAdmin;<br/>&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;public void setIsAdmin(boolean isAdmin) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;this.isAdmin = isAdmin;<br/>}</div></div><br/>这样，Hibernate就不会报错了，也可以写成isIsAdmin，但是看着比较别扭吧？]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.javamilk.org/article.asp?id=591" /> 
	  <id>http://www.javamilk.org/default.asp?id=591</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[eclipse不能编译]]></title>
	  <author>
		 <name>Java伴侣</name>
		 <uri>http://www.javamilk.org/</uri>
		 <email>blurxx@yahoo.cn</email>
	  </author>
	  <category term="" scheme="http://www.javamilk.org/default.asp?cateID=18" label="Sevrice&amp;IDE" /> 
	  <updated>2008-03-08T16:05:18+08:00</updated>
	  <published>2008-03-08T16:05:18+08:00</published>
		  <summary type="html"><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;今天把原有的一个老网站升级，直接从新的网站搬过来了一些程序，因为老个网站是前后开发的，功能多数差不多，个别地方改改就好了，所以程序我多数采取了覆盖（如果抛出异常也是我意料之中）。但是让我没有想到的是，eclipse竟然&#39;死&#39;了，不能编译class文件，删了class下的文件后不会重新生成。重新部署也不成。接着我把lib下的jar全部清空重新加入，活过来了。这是什么个情况]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.javamilk.org/article.asp?id=575" /> 
	  <id>http://www.javamilk.org/default.asp?id=575</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[eclipse3.1下配置Tomcat失败]]></title>
	  <author>
		 <name>Java伴侣</name>
		 <uri>http://www.javamilk.org/</uri>
		 <email>blurxx@yahoo.cn</email>
	  </author>
	  <category term="" scheme="http://www.javamilk.org/default.asp?cateID=18" label="Sevrice&amp;IDE" /> 
	  <updated>2008-02-10T21:31:22+08:00</updated>
	  <published>2008-02-10T21:31:22+08:00</published>
		  <summary type="html"><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;放假在家实在闲得发慌，本不想在过年时碰代码（如果是上班的话，回到家代码肯定我是不看的），但人还是闲不住。想想还是写写吧，其实早有准备——放假前项目都copy到我U盘了。结果因为家里的机器很久没有写程序，数据库都得重装下。可是我的光驱不给面子，只好今天去买了个光驱……<br/>&nbsp;&nbsp; 家里的eclipse比较老古董，3.1的。将就了吧。。结果配置Web Server还老出错：<br/><img src="http://www.javamilk.org/attachments/month_0802/f2008210212914.jpg" border="0" alt=""/><br/>&nbsp;&nbsp;&nbsp;&nbsp; 打消我积极向上的决心啊...虽然我英语很烂，不过一看就是没有指定Tomcat的JDK目录。解决！<br/>&nbsp;&nbsp; <br/>&nbsp;&nbsp; 接着，项目代码中报了很多错误，在单位写的时候可是全部通过的啊。<br/>&nbsp;&nbsp; 错误：仅当源级别为 5.0 时类型参数才可用 <br/>&nbsp;&nbsp; 这个也好办：<br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://www.javamilk.org/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">&nbsp;&nbsp;&nbsp;&nbsp;1、首选项--&gt;Java--&gt;编译器--&gt;编译器一致性级别（选择5.0）<br/>&nbsp;&nbsp; 2、首选项--&gt;Java--&gt;已安装的JRE--&gt;修改为新的jre1.5 </div></div><br/>&nbsp;&nbsp;&nbsp;&nbsp;问题解决！]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.javamilk.org/article.asp?id=545" /> 
	  <id>http://www.javamilk.org/default.asp?id=545</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[Eclipse中导入工程提示：invalid project description]]></title>
	  <author>
		 <name>Java伴侣</name>
		 <uri>http://www.javamilk.org/</uri>
		 <email>blurxx@yahoo.cn</email>
	  </author>
	  <category term="" scheme="http://www.javamilk.org/default.asp?cateID=18" label="Sevrice&amp;IDE" /> 
	  <updated>2008-01-26T09:39:25+08:00</updated>
	  <published>2008-01-26T09:39:25+08:00</published>
		  <summary type="html"><![CDATA[Today, when I imported an existing project into eclipse&#39;s workspace, I got the following error:<br/><br/>Invalid project description.<br/><br/>D:/eclipse/workspace/report and D:/eclipse/workspace overlap<br/><br/>In the beginning, my project was located in D:/report instead of the workspace directory of eclipse, and its name was test. It worked well then. After googling on the internet, I found the root cause of the problem.<br/><br/>There are two kinds of places wh&#101;re projects can be located:<br/><br/>1) In the &#34;default&#34; location. This means that the project directory is a direct child directory of the workspace directory (aka the platform instance location), and the project directory name matches the project name.<br/><br/>2) Outside the default location, in a directory that is neither a parent o&#114; child of the platform instance location. In this case the directory name does not need to match the project name.<br/><br/>As you can see, my project belongs to the second kind initially. When moved to the workspace directory of eclise, it belongs to the first kind. Therefore the name of the project should be the same as the project directory. This can be done by changing the project description file(.project) located in the root directory of the project:<br/><br/>&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt;<br/>&lt;projectDescription&gt;<br/> &lt;name&gt;test&lt;/name&gt;<br/> &lt;comment&gt;&lt;/comment&gt;<br/> &lt;projects&gt;<br/> &lt;/projects&gt;<br/> &lt;buildSpec&gt;<br/>&nbsp;&nbsp;&lt;buildCommand&gt;<br/>&nbsp;&nbsp; &lt;name&gt;org.eclipse.jdt.core.javabuilder&lt;/name&gt;<br/>&nbsp;&nbsp; &lt;arguments&gt;<br/>&nbsp;&nbsp; &lt;/arguments&gt;<br/>&nbsp;&nbsp;&lt;/buildCommand&gt;<br/> &lt;/buildSpec&gt;<br/> &lt;natures&gt;<br/>&nbsp;&nbsp;&lt;nature&gt;org.eclipse.jdt.core.javanature&lt;/nature&gt;<br/>&nbsp;&nbsp;&lt;nature&gt;com.sysdeo.eclipse.tomcat.tomcatnature&lt;/nature&gt;<br/> &lt;/natures&gt;<br/>&lt;/projectDescription&gt;<br/><br/>After changing the name of the project from test to report, I can import my project into eclipse&#39;s workspace successfully.]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.javamilk.org/article.asp?id=537" /> 
	  <id>http://www.javamilk.org/default.asp?id=537</id>
  </entry>	
		
</feed>
