﻿<?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-伪科学家的记事本</title><link>http://www.blogjava.net/fireflyk/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 08:53:25 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 08:53:25 GMT</pubDate><ttl>60</ttl><item><title>[Linux Shell][转载] if命令参数说明</title><link>http://www.blogjava.net/fireflyk/archive/2011/10/18/361524.html</link><dc:creator>柳桐</dc:creator><author>柳桐</author><pubDate>Tue, 18 Oct 2011 07:17:00 GMT</pubDate><guid>http://www.blogjava.net/fireflyk/archive/2011/10/18/361524.html</guid><wfw:comment>http://www.blogjava.net/fireflyk/comments/361524.html</wfw:comment><comments>http://www.blogjava.net/fireflyk/archive/2011/10/18/361524.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fireflyk/comments/commentRss/361524.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fireflyk/services/trackbacks/361524.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     if 语句<br>    使用命令的退出状态<br>    比较和测试输入和文件<br>    if/then/else 结构<br>    if/then/elif/else 结构<br>    使用和测试位置参数<br>    嵌套 if 语句<br>    布尔表达式<br>    使用 case 语句&nbsp;&nbsp;<a href='http://www.blogjava.net/fireflyk/archive/2011/10/18/361524.html'>阅读全文</a><img src ="http://www.blogjava.net/fireflyk/aggbug/361524.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fireflyk/" target="_blank">柳桐</a> 2011-10-18 15:17 <a href="http://www.blogjava.net/fireflyk/archive/2011/10/18/361524.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CRUDGenerator功能列表</title><link>http://www.blogjava.net/fireflyk/archive/2011/10/15/361341.html</link><dc:creator>柳桐</dc:creator><author>柳桐</author><pubDate>Sat, 15 Oct 2011 03:15:00 GMT</pubDate><guid>http://www.blogjava.net/fireflyk/archive/2011/10/15/361341.html</guid><wfw:comment>http://www.blogjava.net/fireflyk/comments/361341.html</wfw:comment><comments>http://www.blogjava.net/fireflyk/archive/2011/10/15/361341.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fireflyk/comments/commentRss/361341.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fireflyk/services/trackbacks/361341.html</trackback:ping><description><![CDATA[<div>future<br /><div>支持2套模板：Struts1+Spring2+iBatis2；Struts2+Spring3+Hibernate3 </div><div>考虑支持grails </div><br />version0.3.0</div><div><div>模型定义自动填充默认值：</div>必填项，field和javaType必填，<br />chs字段应为label，默认为field；<br />inputItem预填，autoIncrement="true" -&gt; inputItem="false"；<br />itemType项类型预填，方案未定。<br />支持反向生成，从demo代码生成模板</div>import更有针对性，能够针对不同类<br />单元测试<br /><br />version0.2.0<br />Y 模型定义自动填充默认值：<br />表名默认值${package}_${首字母小写clazz}；<br />列名默认为Java字段名；列类型默认为Java对应的类型（除特殊类型外）；列长度默认值由字段类型确定；<br />Dto和Form中的import类自动识别，填入到table/import节点下<br />Y 支持一对多，下拉列表；以及对自身的一对多；允许一对多时，关联项为空<br />N 支持多对多的实体关系，复选框；<br />Y 生成maven的项目<br />Y 将Integer.parseInt和Long.parseLong改为Integer.valueOf和Long.valueOf<br />Y Dto和Form默认值<img src ="http://www.blogjava.net/fireflyk/aggbug/361341.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fireflyk/" target="_blank">柳桐</a> 2011-10-15 11:15 <a href="http://www.blogjava.net/fireflyk/archive/2011/10/15/361341.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[OSGi] OSGi + Spring + Web Demo [2]</title><link>http://www.blogjava.net/fireflyk/archive/2011/10/09/360262.html</link><dc:creator>柳桐</dc:creator><author>柳桐</author><pubDate>Sun, 09 Oct 2011 05:12:00 GMT</pubDate><guid>http://www.blogjava.net/fireflyk/archive/2011/10/09/360262.html</guid><wfw:comment>http://www.blogjava.net/fireflyk/comments/360262.html</wfw:comment><comments>http://www.blogjava.net/fireflyk/archive/2011/10/09/360262.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/fireflyk/comments/commentRss/360262.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fireflyk/services/trackbacks/360262.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 转载请注明出处 http://www.blogjava.net/fireflyk/  &nbsp;  接上文，[OSGi] OSGi + Spring + Web Demo [1]  1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 同样方法创建helloworldweb Bundle，用Maven方式创建并转为PDE Tools。  2.&nbsp;&nbsp;&nb...&nbsp;&nbsp;<a href='http://www.blogjava.net/fireflyk/archive/2011/10/09/360262.html'>阅读全文</a><img src ="http://www.blogjava.net/fireflyk/aggbug/360262.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fireflyk/" target="_blank">柳桐</a> 2011-10-09 13:12 <a href="http://www.blogjava.net/fireflyk/archive/2011/10/09/360262.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Data Mining] 分类算法 - 决策树</title><link>http://www.blogjava.net/fireflyk/archive/2011/09/25/359447.html</link><dc:creator>柳桐</dc:creator><author>柳桐</author><pubDate>Sun, 25 Sep 2011 05:49:00 GMT</pubDate><guid>http://www.blogjava.net/fireflyk/archive/2011/09/25/359447.html</guid><wfw:comment>http://www.blogjava.net/fireflyk/comments/359447.html</wfw:comment><comments>http://www.blogjava.net/fireflyk/archive/2011/09/25/359447.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fireflyk/comments/commentRss/359447.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fireflyk/services/trackbacks/359447.html</trackback:ping><description><![CDATA[<div>  <p style="margin-left: 18pt; text-indent: -18pt;">转载请注明出处 http://www.blogjava.net/fireflyk/archive/2011/09/25/359447.html<br /><span><span></span></span></p><p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>1.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">分类</span></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>1.1<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">定义：通过学习得到一个目标函数</span>f<span style="font-family:宋体;">，把每个属性集</span>x<span style="font-family:宋体;">映射到一个预先定义的类标号</span>y<span style="font-family:宋体;">。</span></p>  <p align="center"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;Times New Roman&quot;;"><img alt="" src="http://www.blogjava.net/images/blogjava_net/fireflyk/745586d7-6bc5-4d79-a853-6820c1aee711.JPG" height="21" width="132" /><br /></span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">狭隘地说，有大量数据，<strong>预先</strong>知道所有的类型，但无法分类，通过将数据的多个属性维度来推测每条数据项属于哪个类型。</span>(<span style="font-family:宋体;">男</span>,<span style="font-family:宋体;">高</span>,<span style="font-family:宋体;">瘦</span>,<span style="font-family:宋体;">帅</span>) -&gt; <span style="font-family:宋体;">极品帅哥，</span>(<span style="font-family:宋体;">男</span>,<span style="font-family:宋体;">矮</span>,<span style="font-family:宋体;">胖</span>,<span style="font-family:宋体;">丑</span>) -&gt; <span style="font-family:宋体;">猥琐男。</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">严格来说，&#8220;分类&#8221;可以用于描述性建模和预测性建模。</span></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>1.2<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">应用场景</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">适合预测或描述二元或标称的，对于序数分类，分类技术不太有效，其他形式的联系会被忽略。（复习：标称的，</span>=<span style="font-family:宋体;">和</span><span style="font-family:宋体;">&#8800;，教师和工人；序数的，&lt;和&gt;，收入高和收入低</span><span style="font-family:宋体;">）</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">例如，前几天看的一个科学研究，个人认为不适合用分类来做。科学家找来志愿者，按臀围大小分为两组做智商测试，发现臀围大的明显比臀围小的智商测试结果高。于是得出结论，臀围大的智商高。我认为，这就是最明显的一个错误，智商高低是序数分类，不能用分类方法来做。它隐藏了一些内在联系，例如智商高的相对来说爱学习、坐办公室、少运动导致肥胖、臀围大。而不是你把臀围搞大就一定能智商高！</span></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>1.3<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">实现方法</span></p>  <p style="margin-left:18.0pt"><span style="font-family:宋体;">训练数据</span> -&gt; <span style="font-family:宋体;">学习模型</span> -&gt; <span style="font-family:宋体;">模型</span> -&gt; <span style="font-family:宋体;">应用模型</span> -&gt; <span style="font-family:宋体;">校验数据</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">简单说就是先训练，得出结论再校验。分类方法包括决策树分类法、基于规则的分类法、神经网络、支持向量机和朴素贝叶斯分类法。</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">模型准确率</span> = <span style="font-family:宋体;">正确预测数</span> / <span style="font-family:宋体;">总数</span></p>  <p>&nbsp;</p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>2.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">决策树分类</span></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>2.1<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">定义</span></p>  <p style="text-align:center" align="center"></p><div><div align="center"><img src="data:image/png;base64,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" alt="" /></div></div>  <p style="text-align:center" align="center"><span style="font-family:宋体;">图</span>2-1</p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">如上图，通过提出一系列精心构思的问题，可以解决分类问题，每当一个问题得到答案，后续问题将随之解决。</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">根节点、内部节点都是非终结点，是属性测试条件。叶节点也是终结点，是分类结果。</span></p>  <p>&nbsp;</p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>2.2<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">建立决策树</span></p>  <p style="text-indent:18.0pt">Hunt<span style="font-family:宋体;">算法，是许多决策树算法的基础，包括</span>ID3<span style="font-family:宋体;">，</span>C4.5<span style="font-family:宋体;">，</span>CART<span style="font-family:宋体;">。</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">训练数据集，</span>(Tid, <span style="font-family:宋体;">有房者</span>, <span style="font-family:宋体;">婚姻状况</span>, <span style="font-family:宋体;">年收入</span>, <span style="font-family:宋体;">拖欠贷款</span>)<span style="font-family:宋体;">，具体数据见《数据挖掘导论》</span>P94<span style="font-family:宋体;">。</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">大量数据是不拖欠贷款的，所以选取类标号，&#8220;拖欠贷款</span>=<span style="font-family:宋体;">否&#8221;。然后选择测试条件&#8220;有房者&#8221;。接下来，再看生成数种，哪个叶子节点是无法确定到类标号的，无法确定的递归调用如上步骤，选取测试条件&#8220;婚姻状况&#8221;，然后是&#8220;年收入&#8221;。一棵决策树建立好了，为何按照这样的顺序？后边解释。</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">测试条件，可以是二元的（男，女），标称的（单身、已婚、离异），序数的（</span>S<span style="font-family:宋体;">号，</span>M<span style="font-family:宋体;">号，</span>L<span style="font-family:宋体;">号，</span>XL<span style="font-family:宋体;">号，分类结果不能是序数的，但是测试条件可以是序数的），连续的（工资是连续属性）。</span></p>  <p>&nbsp;</p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>2.3<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">选择最佳的划分度量</span></p>  <p style="text-indent:18.0pt">p(i|t)<span style="font-family:宋体;">表示给定节点</span>t<span style="font-family:宋体;">中属于类</span>i<span style="font-family:宋体;">的记录所占的比例，有时候省略</span>t<span style="font-family:宋体;">，直接用</span>pi<span style="font-family:宋体;">表示。这里介绍不纯性（我称它为区分度，数字越小，区分度越大）度量的一种方法，</span>c<span style="font-family:宋体;">是类的个数，</span></p>  <p style="text-indent:18.0pt" align="center"><span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;Times New Roman&quot;;"><img alt="" src="http://www.blogjava.net/images/blogjava_net/fireflyk/8d16d606-6faa-4414-ade6-2b667611d1c1.JPG" height="62" width="184" /><br /></span></p>  <p style="margin-left:36.0pt;text-indent:-36.0pt;"><span><span>2.3.1<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">二元属性划分</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">划分</span>A<span style="font-family:宋体;">，结点</span>N1<span style="font-family:宋体;">，类</span>C0<span style="font-family:宋体;">，</span>4<span style="font-family:宋体;">个，类</span>C1<span style="font-family:宋体;">，</span>3<span style="font-family:宋体;">个；结点</span>N2<span style="font-family:宋体;">，类</span>C0<span style="font-family:宋体;">，</span>2<span style="font-family:宋体;">个，类</span>C1<span style="font-family:宋体;">，</span>3<span style="font-family:宋体;">个。</span></p>  <div align="center">  <table style="border-collapse:collapse;border:none;" border="1" cellpadding="0" cellspacing="0">  <tbody><tr>   <td style="width:47.2pt;border:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="63">   <p>&nbsp;</p>   </td>   <td style="width:52.95pt;border:solid windowtext 1.0pt;   border-left:none;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="71">   <p>N1</p>   </td>   <td style="width:49.6pt;border:solid windowtext 1.0pt;   border-left:none;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="66">   <p>N2</p>   </td>  </tr>  <tr>   <td style="width:47.2pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="63">   <p>C0</p>   </td>   <td style="width:52.95pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="71">   <p>4</p>   </td>   <td style="width:49.6pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="66">   <p>2</p>   </td>  </tr>  <tr>   <td style="width:47.2pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="63">   <p>C1</p>   </td>   <td style="width:52.95pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="71">   <p>3</p>   </td>   <td style="width:49.6pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="66">   <p>3</p>   </td>  </tr> </tbody></table>  </div>  <p style="text-indent:18.0pt">&nbsp;</p>  <p style="text-indent:18.0pt"><span>Gini(1) = 1-(4/7)<sup>2</sup>-(3/7)<sup>2</sup> = 24/49</span></p>  <p style="text-indent:18.0pt"><span>Gini(2) = 1-(2/5)<sup>2</sup>-(3/5)<sup>2</sup> = 12/25</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">加权</span><span>Gini = Gini(1) * 7/12 + Gini(2) * 5/12 = 0.486</span></p>  <p style="text-indent:18.0pt">&nbsp;</p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">划分</span>B<span style="font-family:宋体;">，同理得到</span>Gini=0.371<span style="font-family:宋体;">，由此说明划分</span>B<span style="font-family:宋体;">更好。</span></p>  <div align="center">  <table style="border-collapse:collapse;border:none;" border="1" cellpadding="0" cellspacing="0">  <tbody><tr>   <td style="width:47.2pt;border:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="63">   <p>&nbsp;</p>   </td>   <td style="width:52.95pt;border:solid windowtext 1.0pt;   border-left:none;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="71">   <p>N1</p>   </td>   <td style="width:49.6pt;border:solid windowtext 1.0pt;   border-left:none;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="66">   <p>N2</p>   </td>  </tr>  <tr>   <td style="width:47.2pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="63">   <p>C0</p>   </td>   <td style="width:52.95pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="71">   <p>1</p>   </td>   <td style="width:49.6pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="66">   <p>2</p>   </td>  </tr>  <tr>   <td style="width:47.2pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="63">   <p>C1</p>   </td>   <td style="width:52.95pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="71">   <p>4</p>   </td>   <td style="width:49.6pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="66">   <p>5</p>   </td>  </tr> </tbody></table>  </div>  <p style="margin-left:36.0pt;text-indent:-36.0pt;"><span><span>2.3.2<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">标称属性划分</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">与二元属性（一个属性，属性值多元）划分衡量方法相同，有三元或多元（一个属性，属性值多元）的情况，根据计算</span>Gini<span style="font-family:宋体;">来决定如何划分（可以划分为多路划分，不局限于两路划分）。</span></p>  <p>&nbsp;</p>  <p style="margin-left:36.0pt;text-indent:-36.0pt;"><span><span>2.3.3<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">连续属性划分</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">把训练集中每一项都作为一个&#8220;</span>&lt;=<span style="font-family:宋体;">测试条件&#8221;，列出每一个结点下的</span>C0<span style="font-family:宋体;">数量和</span>C1<span style="font-family:宋体;">数量，计算每一个点的</span>Gini<span style="font-family:宋体;">。而事实上，不用每一个点都计算。如《数据挖掘导论》</span>P100<span style="font-family:宋体;">中，</span>60,70,75<span style="font-family:宋体;">连续且类标号相同，</span>120,125,220<span style="font-family:宋体;">连续且类标号相同，所以划分点选取不能切断他们，所以这几个点不用计算</span>Gini<span style="font-family:宋体;">值。</span></p>  <p>&nbsp;</p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>2.4<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">决策树归纳特点</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">会有重复的数据碎片，即存在相同两棵子树，如图</span>2-1<span style="font-family:宋体;">。</span></p>  <p style="text-indent:18.0pt"><span style="font-family:宋体;">目前为止，每个测试条件只包含一个属性，对于</span>x1+x2&lt;1<span style="font-family:宋体;">，也是可以允许的，称为斜决策树。</span></p>  <p style="text-indent:18.0pt">&nbsp;</p>  <p style="text-indent:18.0pt">&nbsp;</p>  </div><img src ="http://www.blogjava.net/fireflyk/aggbug/359447.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fireflyk/" target="_blank">柳桐</a> 2011-09-25 13:49 <a href="http://www.blogjava.net/fireflyk/archive/2011/09/25/359447.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[OSGi] OSGi + Spring + Web Demo [1]</title><link>http://www.blogjava.net/fireflyk/archive/2011/09/18/358922.html</link><dc:creator>柳桐</dc:creator><author>柳桐</author><pubDate>Sun, 18 Sep 2011 13:13:00 GMT</pubDate><guid>http://www.blogjava.net/fireflyk/archive/2011/09/18/358922.html</guid><wfw:comment>http://www.blogjava.net/fireflyk/comments/358922.html</wfw:comment><comments>http://www.blogjava.net/fireflyk/archive/2011/09/18/358922.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/fireflyk/comments/commentRss/358922.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fireflyk/services/trackbacks/358922.html</trackback:ping><description><![CDATA[<div>转载请注明出处 http://www.blogjava.net/fireflyk/archive/2011/09/18/358922.html</div><br />网上找了很多例子，看了很多资料发现都不能完全重现一个OSGi的Web Demo<br />本文结合了《OSGi原理与最佳实践》+公司同事的《OSGi开发》+自己的理解。<br /><br />环境WindowXP + eclipse3.4 + Spring OSGi1.2.1<br />1. 创建timeservice Bundle，提供输出时间的功能<br />1.1 eclipse内创建Maven Project，选quickstart project：timeservice，package org.osgichina.demo.timeservice<br />1.2 创建好后，remove maven的jar包，删掉project中的App和AppTest，在项目上右键-&gt;PDE Tools-&gt;Convert<br />1.3 <br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; ">&nbsp;org.osgichina.demo.timeservice;<br /><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">interface</span><span style="color: #000000; ">&nbsp;TimeService&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;getCurrentTime();<br />}</span></div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;TimeServiceImpl&nbsp;</span><span style="color: #0000FF; ">implements</span><span style="color: #000000; ">&nbsp;TimeService&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;getCurrentTime()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">new</span><span style="color: #000000;">&nbsp;Date()).toString();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}</span></div><br />1.4 Spring配置<br />配置放在META-INF/spring目录下，框架启动时会按照这个路径去寻找配置文件<br />timeservice.xml<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">&lt;?</span><span style="color: #FF00FF; ">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000FF; ">?&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">beans&nbsp;</span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/beans"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi</span><span style="color: #0000FF; ">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/beans&nbsp;http://www.springframework.org/schema/beans/spring-beans.xsd"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;timeService&nbsp;bean&nbsp;</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bean&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="timeService"</span><span style="color: #FF0000; ">&nbsp;class</span><span style="color: #0000FF; ">="org.osgichina.demo.timeservice.impl.TimeServiceImpl"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br /><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">beans</span><span style="color: #0000FF; ">&gt;</span></div><br />timeservice-osgi.xml<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">&lt;?</span><span style="color: #FF00FF; ">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000FF; ">?&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">beans&nbsp;</span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/beans"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi</span><span style="color: #0000FF; ">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #FF0000; ">&nbsp;xmlns:osgi</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/osgi"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/beans&nbsp;http://www.springframework.org/schema/beans/spring-beans.xsd<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/osgi&nbsp;http://www.springframework.org/schema/osgi/spring-osgi.xsd"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;将timeService&nbsp;这个bean发布为OSGi服务的定义</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">osgi:service&nbsp;</span><span style="color: #FF0000; ">id</span><span style="color: #0000FF; ">="osgiTimeService"</span><span style="color: #FF0000; ">&nbsp;ref</span><span style="color: #0000FF; ">="timeService"</span><span style="color: #ff0000;"> interface</span><span style="color: #0000FF; ">="org.osgichina.demo.timeservice.TimeService"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">osgi:service</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">beans</span><span style="color: #0000FF; ">&gt;</span></div><br />这个Bundle到此已经完成了，下一节会讲解helloworldweb Bundle，涉及Import Package，OSGi的启动，Spring+Web的配置等<img src ="http://www.blogjava.net/fireflyk/aggbug/358922.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fireflyk/" target="_blank">柳桐</a> 2011-09-18 21:13 <a href="http://www.blogjava.net/fireflyk/archive/2011/09/18/358922.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Grails]HelloWorld &amp; Simple CRUD Demo</title><link>http://www.blogjava.net/fireflyk/archive/2011/09/16/358829.html</link><dc:creator>柳桐</dc:creator><author>柳桐</author><pubDate>Fri, 16 Sep 2011 13:32:00 GMT</pubDate><guid>http://www.blogjava.net/fireflyk/archive/2011/09/16/358829.html</guid><wfw:comment>http://www.blogjava.net/fireflyk/comments/358829.html</wfw:comment><comments>http://www.blogjava.net/fireflyk/archive/2011/09/16/358829.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fireflyk/comments/commentRss/358829.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fireflyk/services/trackbacks/358829.html</trackback:ping><description><![CDATA[简单介绍，Grails是Groovy的Web框架，可以从名字看出它的特点Groovy+rails=Grails<br />今天在单位开讲前，同事笑称讲座题目是Girls，呵呵，可别看错了。闲言少叙，下面是例子。<br /><br />环境WindowsXP<br /><br /><strong>HelloWorld Demo</strong><br />1. 解压groovy1.8.1和grails1.3.7，分别设定GROOVY_HOME和GRAILS_HOME<br />2. f: 回车 mkdir grails-app 回车 cd grails-app<br />3. grails create-app 回车 racetrack<br />4. cd racetrack 回车 grails run-app<br />5. 访问 http://localhost:8080/racetrack/<br /><br /><strong>CRUD Demo</strong><br />1. 接着如上操作。在racetrack路径，<br />grails create-domain-class 回车 Race 回车 <br />grails create-domain-class 回车 Registration<br /><br />2. Race.groovy<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;Race&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;name<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date&nbsp;startDateTime<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;city<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;state<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Float&nbsp;distance<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Float&nbsp;cost<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;maxRunners&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">10000</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;hasMany&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;[registration:Registration]<br />}</span></div><br />Registration.groovy<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;Registration&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;Race&nbsp;race<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;name<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date&nbsp;dataOfBirth<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;gender&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">'</span><span style="color: #000000; ">F</span><span style="color: #000000; ">'</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;postalAddress<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;emailAddress<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date&nbsp;createdAt&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Date()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;belongsTo&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;Race<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;optionals&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;[</span><span style="color: #000000; ">"</span><span style="color: #000000; ">postalAddress</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">gender</span><span style="color: #000000; ">"</span><span style="color: #000000;">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}</span></div><br />3. grails create-controller 回车 Race 回车 <br /><div>grails create-controller 回车 Registration<br /></div>Race.groovy<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;RaceController&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;scaffold&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; "> Race</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">}</span></div><br />Registraion.groovy<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;RegistrationController&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;scaffold&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;Registration<br />}</span></div><br />4. 运行<br />&nbsp;&nbsp; <img alt="" src="http://www.blogjava.net/images/blogjava_net/fireflyk/helloworld_demo.JPG" height="271" width="181" /><br /><br />这个CRUD的例子，不仅支持增删改查，还支持一对多的关联关系，之后会有详细的介绍。<img src ="http://www.blogjava.net/fireflyk/aggbug/358829.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fireflyk/" target="_blank">柳桐</a> 2011-09-16 21:32 <a href="http://www.blogjava.net/fireflyk/archive/2011/09/16/358829.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Maven]为工程添加非Maven工程的Jar包依赖</title><link>http://www.blogjava.net/fireflyk/archive/2011/09/14/358596.html</link><dc:creator>柳桐</dc:creator><author>柳桐</author><pubDate>Wed, 14 Sep 2011 05:05:00 GMT</pubDate><guid>http://www.blogjava.net/fireflyk/archive/2011/09/14/358596.html</guid><wfw:comment>http://www.blogjava.net/fireflyk/comments/358596.html</wfw:comment><comments>http://www.blogjava.net/fireflyk/archive/2011/09/14/358596.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fireflyk/comments/commentRss/358596.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fireflyk/services/trackbacks/358596.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 使用Maven开发dashboard，发现report.jar不是用Maven开发的，怎么用Maven依赖report.jar呢？<br /><br /><div>命令如下：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">mvn&nbsp;install:install</span><span style="color: #000000; ">-</span><span style="color: #000000; ">file&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">DgroupId</span><span style="color: #000000; ">=&lt;</span><span style="color: #000000; ">your_group_name</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">DartifactId</span><span style="color: #000000; ">=&lt;</span><span style="color: #000000; ">your_artifact_name</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">Dversion</span><span style="color: #000000; ">=&lt;</span><span style="color: #000000; ">snapshot</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">Dfile</span><span style="color: #000000; ">=&lt;</span><span style="color: #000000; ">path_to_your_jar_file</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">Dpackaging</span><span style="color: #000000; ">=</span><span style="color: #000000; ">jar&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">DgeneratePom</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">true</span></div><br /><br />示例：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">mvn&nbsp;install:install</span><span style="color: #000000; ">-</span><span style="color: #000000; ">file&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">DgroupId</span><span style="color: #000000; ">=</span><span style="color: #000000; ">com.bupt.liutong</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">DartifactId</span><span style="color: #000000; ">=</span><span style="color: #000000; ">report </span><span style="color: #000000; ">-</span><span style="color: #000000; ">Dversion</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1.0</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">Dfile</span><span style="color: #000000; ">=</span><span style="color: #000000; ">e:</span><span style="color: #000000; ">/report</span><span style="color: #000000; "></span><span style="color: #000000; ">.jar&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">Dpackaging</span><span style="color: #000000; ">=</span><span style="color: #000000; ">jar&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">DgeneratePom</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">true</span></div><br /><br />执行成功后，<br />在pom.xml文件中添加：<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "></span><span style="color: #000000; ">com.bupt.liutong</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;report</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">1.0</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span></div></div><img src ="http://www.blogjava.net/fireflyk/aggbug/358596.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fireflyk/" target="_blank">柳桐</a> 2011-09-14 13:05 <a href="http://www.blogjava.net/fireflyk/archive/2011/09/14/358596.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>