﻿<?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/onewalkingman/category/37951.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 01 Feb 2010 16:54:49 GMT</lastBuildDate><pubDate>Mon, 01 Feb 2010 16:54:49 GMT</pubDate><ttl>60</ttl><item><title>在应用程序中使用proxool连接池</title><link>http://www.blogjava.net/onewalkingman/articles/256887.html</link><dc:creator>李敏</dc:creator><author>李敏</author><pubDate>Thu, 26 Feb 2009 12:01:00 GMT</pubDate><guid>http://www.blogjava.net/onewalkingman/articles/256887.html</guid><wfw:comment>http://www.blogjava.net/onewalkingman/comments/256887.html</wfw:comment><comments>http://www.blogjava.net/onewalkingman/articles/256887.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onewalkingman/comments/commentRss/256887.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onewalkingman/services/trackbacks/256887.html</trackback:ping><description><![CDATA[首先是proxool.xml的配置文件。<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><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 />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;proxool&nbsp;configuration&nbsp;can&nbsp;be&nbsp;embedded&nbsp;within&nbsp;your&nbsp;own<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application's.&nbsp;Anything&nbsp;outside&nbsp;the&nbsp;"proxool"&nbsp;tag&nbsp;is&nbsp;ignored.<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">proxool</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">alias</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">sqlserver-test</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">alias</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">driver-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">com.microsoft.jdbc.sqlserver.SQLServerDriver<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">driver-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">driver-url</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">driver-url</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">driver-properties</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="user"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="sa"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="password"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="limin"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">driver-properties</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">house-keeping-sleep-time</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">40000</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">house-keeping-sleep-time</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">house-keeping-test-sql</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">select&nbsp;CURRENT_DATE<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">house-keeping-test-sql</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">maximum-connection-count</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">10</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">maximum-connection-count</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">minimum-connection-count</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">3</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">minimum-connection-count</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">maximum-connection-lifetime</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">18000000<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">maximum-connection-lifetime</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;5&nbsp;hours&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">simultaneous-build-throttle</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">5</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">simultaneous-build-throttle</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">recently-started-threshold</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">40000</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">recently-started-threshold</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">overload-without-refusal-lifetime</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">50000<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">overload-without-refusal-lifetime</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">maximum-active-time</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">60000</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">maximum-active-time</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">verbose</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">true</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">verbose</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">trace</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">true</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">trace</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">fatal-sql-exception</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">ORA-1234</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">fatal-sql-exception</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">prototype-count</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">2</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">prototype-count</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">proxool</span><span style="color: #0000ff">&gt;</span></div>
<br />
<br />
以下是代码片段，由于测试程序使用到了<span style="background-color: #c0c0c0">DataSource</span>作为数据库的连接，所以没有采用官方文档上使用的<span style="color: #0000ff; background-color: #c0c0c0">DriverManager.getConnection(..)</span>来直接获得<span style="background-color: #c0c0c0"><strong style="color: #ff0000">Connection</strong></span>。<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_4_426_Open_Image" onclick="this.style.display='none'; Codehighlighter1_4_426_Open_Text.style.display='none'; Codehighlighter1_4_426_Closed_Image.style.display='inline'; Codehighlighter1_4_426_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_4_426_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_4_426_Closed_Text.style.display='none'; Codehighlighter1_4_426_Open_Image.style.display='inline'; Codehighlighter1_4_426_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_4_426_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_4_426_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStreamReader&nbsp;in&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;InputStreamReader(getClass()<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getResourceAsStream(</span><span style="color: #000000">"</span><span style="color: #000000">/proxool.xml</span><span style="color: #000000">"</span><span style="color: #000000">));<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JAXPConfigurator.configure(in,&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataSource&nbsp;pooled&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ProxoolDataSource(</span><span style="color: #000000">"</span><span style="color: #000000">sqlserver-test</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UserDAO&nbsp;userDAO&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;UserDAO();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userDAO.setDataSource(pooled);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User&nbsp;user&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;userDAO.find(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Integer(</span><span style="color: #000000">1</span><span style="color: #000000">));<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(user.getId()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;user.getName()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;user.getAge());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_448_514_Open_Image" onclick="this.style.display='none'; Codehighlighter1_448_514_Open_Text.style.display='none'; Codehighlighter1_448_514_Closed_Image.style.display='inline'; Codehighlighter1_448_514_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_448_514_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_448_514_Closed_Text.style.display='none'; Codehighlighter1_448_514_Open_Image.style.display='inline'; Codehighlighter1_448_514_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;</span><span id="Codehighlighter1_448_514_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_448_514_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;TODO&nbsp;Auto-generated&nbsp;catch&nbsp;block</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<br />
<br />
<img src ="http://www.blogjava.net/onewalkingman/aggbug/256887.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onewalkingman/" target="_blank">李敏</a> 2009-02-26 20:01 <a href="http://www.blogjava.net/onewalkingman/articles/256887.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何使用Ant来编译Java文件以及如何运行？（二）</title><link>http://www.blogjava.net/onewalkingman/articles/252374.html</link><dc:creator>李敏</dc:creator><author>李敏</author><pubDate>Thu, 22 Jan 2009 09:21:00 GMT</pubDate><guid>http://www.blogjava.net/onewalkingman/articles/252374.html</guid><wfw:comment>http://www.blogjava.net/onewalkingman/comments/252374.html</wfw:comment><comments>http://www.blogjava.net/onewalkingman/articles/252374.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onewalkingman/comments/commentRss/252374.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onewalkingman/services/trackbacks/252374.html</trackback:ping><description><![CDATA[&nbsp; 前面介绍了为什么选用Ant来编译Java文件，这里则介绍如何来运行Java代码，当然如果只是运行Java代码的话，使用javac命令就可以了，但是之前已经说过，现在代码中可能已经使用了第三方类库或者说框架，而且又不想在<span style="background-color: #c0c0c0">"系统变量"</span>里进行设置，因为只有当你需要进行编译的时候，才会使用这些环境变量，所以我们需要的是一种<span style="background-color: #c0c0c0">"急需急设"</span>的一种方式。<br />
&nbsp; 归根结底其实就是采用临时设置classpath的一种方法而已，这里选用建立批处理文件方式来进行设置。<br />
<br />
setclasspath.bat<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">set&nbsp;root_home</span><span style="color: #000000">=</span><span style="color: #000000">C:\third-lib<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />set&nbsp;log_home</span><span style="color: #000000">=</span><span style="color: #000000">%root_home%\log\commons-logging.jar</span><span style="color: #008000">;</span><span style="color: #008000">%root_home%\log\log4j-1.2.14.jar</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">set&nbsp;spring_home</span><span style="color: #000000">=</span><span style="color: #000000">%root_home%\spring2</span><span style="color: #000000">.0</span><span style="color: #000000">\spring.jar</span><span style="color: #008000">;</span><span style="color: #008000">%root_home%\spring2.0\spring-sources.jar</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">set&nbsp;classpath</span><span style="color: #000000">=</span><span style="color: #000000">.</span><span style="color: #008000">;</span><span style="color: #008000">%log_home%;%spring_home%</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">cd&nbsp;\<br />
</span></div>
<br />
&nbsp; 如果你想查询输出的控制台信息，可以在后面去掉"cls"。<br />
&nbsp; 现在如果你想在任意目录下都能调用这个批处理文件，则可以进行如下设置。<br />
&nbsp; 新建一个<span style="background-color: #c0c0c0">"系统变量" </span>，比如说<span style="background-color: #c0c0c0">"classpath_home"</span> ，值为该批处理文件所在的目录（<span style="color: red">切记不要进行精确定位，只需要该文件所在的目录就行，否则无法使用</span>）。<br />
&nbsp; 同样也可以这样设置<span style="background-color: #c0c0c0">"path"</span> 。<br />
<br />
&nbsp;&nbsp;setpath.bat<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">set&nbsp;ant_home</span><span style="color: #000000">=</span><span style="color: #000000">D:\apache-ant-</span><span style="color: #000000">1.7.0</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />set&nbsp;java_home</span><span style="color: #000000">=</span><span style="color: #000000">D:\jdk1</span><span style="color: #000000">.5</span><span style="color: #000000">.0_</span><span style="color: #000000">14</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />set&nbsp;path</span><span style="color: #000000">=</span><span style="color: #000000">%java_home%\bin</span><span style="color: #008000">;</span><span style="color: #008000">%ant_home%\bin</span></div>
<br />
&nbsp;&nbsp; 最后通过一个bat文件来调用上面的两个文件，还是那句话，一切都可以重用。（<span style="color: red">set path命令必须在set classpath命令之后调用，不然会出现错误提示</span>）<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp; default.bat<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">@Rem&nbsp;default&nbsp;path.&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />call&nbsp;setclasspath.bat<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />call&nbsp;setpath.bat<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />cls</span></div>
<br />
&nbsp; 此命令只用执行一次，当再次执行时会出现错误提示。<br />
&nbsp; 其实到现在为止，一直所讲的无非就是一种生产力（经验的总结）的提高，并不是生产工具的提升。<br />
<br />
 <img src ="http://www.blogjava.net/onewalkingman/aggbug/252374.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onewalkingman/" target="_blank">李敏</a> 2009-01-22 17:21 <a href="http://www.blogjava.net/onewalkingman/articles/252374.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何使用Ant来编译Java文件以及如何运行？（一）</title><link>http://www.blogjava.net/onewalkingman/articles/252359.html</link><dc:creator>李敏</dc:creator><author>李敏</author><pubDate>Thu, 22 Jan 2009 08:05:00 GMT</pubDate><guid>http://www.blogjava.net/onewalkingman/articles/252359.html</guid><wfw:comment>http://www.blogjava.net/onewalkingman/comments/252359.html</wfw:comment><comments>http://www.blogjava.net/onewalkingman/articles/252359.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onewalkingman/comments/commentRss/252359.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onewalkingman/services/trackbacks/252359.html</trackback:ping><description><![CDATA[&nbsp; 由于自己的电脑的内存比较小（512MB），只开一个Eclipse的时候，还勉强应付，如果同时要开Weblogic、Oracle或者全部都开，Oh，My God！所以就只能选择一个轻量级的编辑工具了，自然首选<span style="background-color: #c0c0c0">"PSPad"</span>了，主要是它具有"程序代码浏览器"，虽然不起眼，但是非常重要，也是选择"PSPad"的最重要的原因，这里不在详细介绍了。<br />
&nbsp; 解决编辑的问题后，第二步就是如何来编译？现在的应用程序越来越复杂，经常要使用第三方的框架或者类库，常见的方法就是在环境变量的classpath下面引入所需要的jar包，一来如果代码中引入多个类的话，必然会使得"变量值"变得很臃肿，虽然可以通过分开设置"变量名"的方式来提高<span style="background-color: #c0c0c0">"重用" </span>（^_^），随着类的增多，依然不能解决，最重要的是<span style="background-color: #c0c0c0">"系统变量"</span>的列表容易混乱，而且只有当编译时才会使用这些"系统变量"。所以想到了利用Ant来编译Java代码。<br />
&nbsp; 关于涉及的Ant的使用，由于应用非常简单，所以这里只根据具体的应用来解释一下。<br />
<br />
&nbsp; build.xml<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">project&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="app"</span><span style="color: #ff0000">&nbsp;default</span><span style="color: #0000ff">="compile"</span><span style="color: #ff0000">&nbsp;basedir</span><span style="color: #0000ff">="."</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;set&nbsp;global&nbsp;properties&nbsp;for&nbsp;this&nbsp;build&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&lt;property&nbsp;file="build.properties"/&gt;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="app.name"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="Chapter2"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="app.home"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="."</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="app.src"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="${app.home}/src"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="app.class"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="${app.home}/class"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="app.lib"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="${app.home}/lib"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="app.deploy"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="${app.home}/deploy"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">path&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="compile.classpath"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">pathelement&nbsp;</span><span style="color: #ff0000">location</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">path</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">target&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="init"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">mkdir&nbsp;</span><span style="color: #ff0000">dir</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">mkdir&nbsp;</span><span style="color: #ff0000">dir</span><span style="color: #0000ff">="${app.deploy}"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">copy&nbsp;</span><span style="color: #ff0000">todir</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">fileset&nbsp;</span><span style="color: #ff0000">dir</span><span style="color: #0000ff">="${app.src}"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">include&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="*.properties"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">include&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="*.xml"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">fileset</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">copy</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">target</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">target&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="compile"</span><span style="color: #ff0000">&nbsp;&nbsp;depends</span><span style="color: #0000ff">="init"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">javac&nbsp;</span><span style="color: #ff0000">srcdir</span><span style="color: #0000ff">="${app.src}"</span><span style="color: #ff0000">&nbsp;destdir</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #ff0000">&nbsp;debug</span><span style="color: #0000ff">="yes"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">classpath&nbsp;</span><span style="color: #ff0000">refid</span><span style="color: #0000ff">="compile.classpath"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">javac</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">jar&nbsp;</span><span style="color: #ff0000">jarfile</span><span style="color: #0000ff">="${app.deploy}/${app.name}.jar"</span><span style="color: #ff0000">&nbsp;basedir</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">target</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">target&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="clean"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;Delete&nbsp;the&nbsp;${build}&nbsp;and&nbsp;${dist}&nbsp;directory&nbsp;trees&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">delete&nbsp;</span><span style="color: #ff0000">dir</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">target</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">project</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<br />
build.properties<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">log.home</span><span style="color: #000000">=</span><span style="color: #000000">C:/third-lib/log<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />spring.home</span><span style="color: #000000">=</span><span style="color: #000000">C:/third-lib/spring2</span><span style="color: #000000">.0</span></div>
<br />
<span style="background-color: #c0c0c0">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">project&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="app"</span><span style="color: #ff0000">&nbsp;default</span><span style="color: #0000ff">="compile"</span><span style="color: #ff0000">&nbsp;basedir</span><span style="color: #0000ff">="."</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
</span>name属性：指定工程的名字。<br />
basedir属性：指定工程的基路径，如果设置为"."，就表示工程的基路径为build.xml文件所在的路径。<br />
default属性：是必须给定的属性，它指定工程默认的target元素，运行ANT时如果不指定target，则使用default属性指定的target。<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">file</span><span style="color: #0000ff">="build.properties"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
可以把它当成一种组件，随时进行添加或删除一组变量和值。<br />
<br />
&nbsp;
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="app.home"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="."</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
通过property任务来设置属性，一个工程可以设置很多属性，属性由名字和值构成。<br />
在其他地方访问属性的语法格式为${属性名},例如：<br />
<span style="background-color: #ffffff">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="app.src"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="${app.home}/src"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<br />
<span style="background-color: #ffffff">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">path&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="compile.classpath"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">pathelement&nbsp;</span><span style="color: #ff0000">location</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">fileset&nbsp;</span><span style="color: #ff0000">dir</span><span style="color: #0000ff">="${app.lib}"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">include&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="*.jar"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">fileset</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">path</span><span style="color: #0000ff">&gt;</span></div>
<br />
设置编译Java源程序所需的classpath。classpath中包含lib子目录下的所有jar文件。<br />
<span style="color: #0000ff">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">pathelement&nbsp;</span><span style="color: #ff0000">location</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #0000ff">/&gt;</span></div>
<br />
</span>定位路径<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">fileset&nbsp;</span><span style="color: #ff0000">dir</span><span style="color: #0000ff">="${app.lib}"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">include&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="*.jar"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">fileset</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
dir定位路径<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">include&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="*.jar"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
该目录下所要引入的文件类型，此节点可以根据需要进行任意添加。<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">target&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="compile"</span><span style="color: #ff0000">&nbsp;&nbsp;depends</span><span style="color: #0000ff">="init"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">javac&nbsp;</span><span style="color: #ff0000">srcdir</span><span style="color: #0000ff">="${app.src}"</span><span style="color: #ff0000">&nbsp;destdir</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #ff0000">&nbsp;debug</span><span style="color: #0000ff">="yes"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">classpath&nbsp;</span><span style="color: #ff0000">refid</span><span style="color: #0000ff">="compile.classpath"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">javac</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">jar&nbsp;</span><span style="color: #ff0000">jarfile</span><span style="color: #0000ff">="${app.deploy}/${app.name}.jar"</span><span style="color: #ff0000">&nbsp;basedir</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">target</span><span style="color: #0000ff">&gt;</span></div>
name：该任务的名字。<br />
depends：指定在执行本target之前必须完成的target。<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">javac&nbsp;</span><span style="color: #ff0000">srcdir</span><span style="color: #0000ff">="${app.src}"</span><span style="color: #ff0000">&nbsp;destdir</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #ff0000">&nbsp;debug</span><span style="color: #0000ff">="yes"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
javac任务用于编译Java源程序。<br />
srcdir：Java源程序位于srcdir属性指定的文件。<br />
destdir：<span style="color: #ff0000"><span style="color: #000000">生成的类文件存放在destdir属性指定的文件夹中，其目录结构与Java的package语句一致。（</span>必须确保源文件的目录结构也与package语句相一致</span>）<br />
debug：生成调试信息（<span style="color: red">缺省值为false</span>）。<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">jar&nbsp;</span><span style="color: #ff0000">jarfile</span><span style="color: #0000ff">="${app.deploy}/${app.name}.jar"</span><span style="color: #ff0000">&nbsp;basedir</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #0000ff">/&gt;</span></div>
jar：打包。<br />
jarfile：目标文件。（包含目录）<br />
basedir：源文件目录。<br />
<br />
&nbsp; 还有一些在target节点中可以使用的属性。<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">copy&nbsp;</span><span style="color: #ff0000">todir</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">fileset&nbsp;</span><span style="color: #ff0000">dir</span><span style="color: #0000ff">="${app.src}"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">include&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="*.properties"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">include&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="*.xml"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">fileset</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">copy</span><span style="color: #0000ff">&gt;</span></div>
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">copy&nbsp;</span><span style="color: #ff0000">todir</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #0000ff">&gt;</span></div>
copy：复制文件。<br />
todir：目标目录。<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">mkdir&nbsp;</span><span style="color: #ff0000">dir</span><span style="color: #0000ff">="${app.class}"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<span style="background-color: #ffffff">mkdir：生成目录。<br />
dir：指定要生成的相对路径。<br />
<br />
&nbsp;
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">echo&nbsp;</span><span style="color: #ff0000">message</span><span style="color: #0000ff">=""</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
&nbsp;echo：向控制台输出信息。<br />
&nbsp;message：指定输出的信息内容。<br />
<br />
</span></span></span>
 <img src ="http://www.blogjava.net/onewalkingman/aggbug/252359.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onewalkingman/" target="_blank">李敏</a> 2009-01-22 16:05 <a href="http://www.blogjava.net/onewalkingman/articles/252359.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Log4j应用两例</title><link>http://www.blogjava.net/onewalkingman/articles/237678.html</link><dc:creator>李敏</dc:creator><author>李敏</author><pubDate>Thu, 30 Oct 2008 11:56:00 GMT</pubDate><guid>http://www.blogjava.net/onewalkingman/articles/237678.html</guid><wfw:comment>http://www.blogjava.net/onewalkingman/comments/237678.html</wfw:comment><comments>http://www.blogjava.net/onewalkingman/articles/237678.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onewalkingman/comments/commentRss/237678.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onewalkingman/services/trackbacks/237678.html</trackback:ping><description><![CDATA[<span style="color: #0000ff">基本配置：</span>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">1</span><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">log4j.rootLogger</span><span style="color: #000000">=</span><span style="color: #000000">INFO,stdout,R<br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">3</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#stdout&nbsp;&nbsp;控制台输出<br />
</span><span style="color: #008080">4</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.stdout</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.ConsoleAppender<br />
</span><span style="color: #008080">5</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.stdout.layout</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.PatternLayout<br />
</span><span style="color: #008080">6</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.stdout.layout.ConversionPattern</span><span style="color: #000000">=%</span><span style="color: #000000">d&nbsp;&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">5p&nbsp;&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">l&nbsp;&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">m</span><span style="color: #000000">%</span><span style="color: #000000">n<br />
</span><span style="color: #008080">7</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
<p><br />
<span style="color: #0000ff">（一）输出以每天日期命名的日志：<br />
</span><br />
#R&nbsp;&nbsp;&nbsp; 文件输出<br />
<span style="color: #ff0000">log4j.appender.R=org.apache.log4j.DailyRollingFileAppender</span><br />
log4j.appender.R.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.R.layout.ConversionPattern=%d&nbsp; %5p&nbsp; %l&nbsp; %m%n<br />
<span style="color: #ff0000">log4j.appender.R.File=d:/log/log<br />
</span>log4j.appender.R.datePattern='_'yyyy-MM-dd'.txt' <br />
<br />
<br />
<span style="color: #0000ff"><br />
（二）在当前Web应用下输出日志：<br />
</span><br />
#R&nbsp;&nbsp;&nbsp; 文件输出<br />
log4j.appender.R=org.apache.log4j.RollingFileAppender<br />
log4j.appender.R.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.R.layout.ConversionPattern=%d&nbsp; %5p&nbsp; %l&nbsp; %m%n<br />
<span style="color: #ff0000">log4j.appender.R.File=../webapps/aa/WEB-INF/logs/application.log</span><br />
log4j.appender.R.MaxFileSize=1000KB<br />
<br />
<br />
<span style="background-color: #999999">注意以下几点：</span><br />
&nbsp;&nbsp; 实例一中<span style="color: #ff0000">log4j.appender.R.File=d:/log/log</span>最后一个log为生成的一个初始化文件名，只有当第二天时，才会生成以日期命名的日志。<br />
<br />
&nbsp; 实例二中<span style="color: #ff0000">log4j.appender.R.File=../webapps/aa/WEB-INF/logs/application.log</span>的<span style="background-color: #c0c0c0">..</span>为返回上一级目录，由于默认的根目录是<span style="color: #ff0000"><span style="color: #0000ff; background-color: #c0c0c0">catalina_home/bin</span></span>下，所以就必须先退回到上一级目录，然后重新设置文件相对路径。当容器加载当前Web应用时会自行创建<span style="background-color: #c0c0c0">/logs/</span>目录,所以不必自行创建。 <br />
<span style="color: red">=/webapps/aa/WEB-INF/logs/application.log<span style="color: #000000">则在系统的根目录（Web应用当前的盘符）下产生一个<span style="background-color: #c0c0c0">webapps</span>目录。<br />
<span style="color: red">=webapps/aa/WEB-INF/logs/application.log<span style="color: #000000">则在默认的根目录下产生一个<span style="background-color: #c0c0c0">webapps</span>目录。</span></span></span></span></p>
   <img src ="http://www.blogjava.net/onewalkingman/aggbug/237678.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onewalkingman/" target="_blank">李敏</a> 2008-10-30 19:56 <a href="http://www.blogjava.net/onewalkingman/articles/237678.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>