﻿<?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-SoA爱好者-文章分类-OpenSource</title><link>http://www.blogjava.net/51AOP/category/9900.html</link><description>关注SoA发展</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 05:36:56 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 05:36:56 GMT</pubDate><ttl>60</ttl><item><title>CSS framework 收集</title><link>http://www.blogjava.net/51AOP/articles/46446.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Tue, 16 May 2006 09:45:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/articles/46446.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/46446.html</wfw:comment><comments>http://www.blogjava.net/51AOP/articles/46446.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/46446.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/46446.html</trackback:ping><description><![CDATA[<p>Mollio，<a href="http://developer.yahoo.com/yui/">http://developer.yahoo.com/yui/</a>出品，我看的时候有6中基本布局，提倡标准。</p>
		<p>YUI，开发不断，现在已经在其中添加了css布局的一个lib</p>
		<p>style，老家伙了，内容很多，不仅仅是布局，据说什么网站只要放上这个就会漂亮许多，呵呵。</p>
		<p>
				<br />当然其他的有很多，这几个只是我接触到的，欢迎大家添加哦。</p>
		<p> </p><img src ="http://www.blogjava.net/51AOP/aggbug/46446.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-05-16 17:45 <a href="http://www.blogjava.net/51AOP/articles/46446.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring IDE Guide </title><link>http://www.blogjava.net/51AOP/articles/43029.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Tue, 25 Apr 2006 07:10:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/articles/43029.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/43029.html</wfw:comment><comments>http://www.blogjava.net/51AOP/articles/43029.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/43029.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/43029.html</trackback:ping><description><![CDATA[<h1 id="SpringIDEGuide">Spring IDE Guide<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#SpringIDEGuide"> ¶</a></h1>
		<p>From: <a href="http://springide.org/project/wiki/SpringideGuide">http://springide.org/project/wiki/SpringideGuide</a> <br /><br />To start working with Spring IDE you need a <a class="wiki" href="http://springide.org/project/wiki/SpringProject">SpringProject</a>. A <a class="wiki" href="http://springide.org/project/wiki/SpringProject">SpringProject</a> can be created by adding the <a class="wiki" href="http://springide.org/project/wiki/SpringProjectNature">SpringProjectNature</a> to an existing project or by <a class="wiki" href="http://springide.org/project/wiki/SpringideGuide#CreatenewSpringproject">creating a new Spring project</a> with the <a class="wiki" href="http://springide.org/project/wiki/SpringProjectWizard">SpringProjectWizard</a>. </p>
		<h2 id="AddSpringProjectnature">Add <a class="wiki" href="http://springide.org/project/wiki/SpringProject">SpringProject</a> nature<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#AddSpringProjectnature"> ¶</a></h2>
		<ul>
				<li>select open project nodes in Eclipse resource navigator or JDT package explorer 
</li>
				<li>activate context menu item "Add Spring Project Nature" on selected projects </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/AddNature.png">
						<img title="added screenshoot" alt="added screenshoot" src="http://springide.org/project/attachment/wiki/SpringideGuide/AddNature.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>once the nature is added, these projects are now decorated with a small 'S' in the upper right corner (overwriting other decorators, e.g. Java project decorator 'J') </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/NatureAdded.png">
						<img title="added screenshoot" alt="added screenshoot" src="http://springide.org/project/attachment/wiki/SpringideGuide/NatureAdded.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>to remove the nature, right click the project and select "Remove Spring Project Nature" </li>
		</ul>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/SpringProject">SpringProject</a>, <a class="wiki" href="http://springide.org/project/wiki/SpringProjectNature">SpringProjectNature</a></p>
		<h2 id="CreatenewSpringProject">Create new <a class="wiki" href="http://springide.org/project/wiki/SpringProject">SpringProject</a><a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#CreatenewSpringProject"> ¶</a></h2>
		<ul>
				<li>open the wizard selection dialog via the menu "File / New / Project..." </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/SpringProjectWizardSelection.png">
						<img title="Screenshoot of wizard selection dialog" alt="Screenshoot of wizard selection dialog" src="http://springide.org/project/attachment/wiki/SpringideGuide/SpringProjectWizardSelection.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>select the wizard "Spring IDE / New Spring Project" </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/SpringProjectWizard.png">
						<img title="Screenshoot of Spring project wizard" alt="Screenshoot of Spring project wizard" src="http://springide.org/project/attachment/wiki/SpringideGuide/SpringProjectWizard.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>enter the project name 
</li>
				<li>(optionally) modify the comma-separated list of supported <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> file extensions (default is "xml") 
</li>
				<li>if you don't need a Java project then deselect the checkbox "Create a Java project" 
</li>
				<li>for a Java project you can change the project's settings (source / classes folder, classpath, libraries, ...) on the next dialog page </li>
		</ul>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/SpringProject">SpringProject</a></p>
		<h2 id="AddreferencestootherSpringprojectsoptional">Add references to other Spring projects (optional)<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#AddreferencestootherSpringprojectsoptional"> ¶</a></h2>
		<ul>
				<li>open a Spring project's properties dialog from the context menu in Eclipse resource navigator or JDT package explorer 
</li>
				<li>select the properties page "Project References" from the list on the left side 
</li>
				<li>enable all Spring project(s) containing Spring Beans config files which are referenced from within this project via Spring Beans config sets (defined later on) </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/ProjectReference.png">
						<img title="added screenshoot" alt="added screenshoot" src="http://springide.org/project/attachment/wiki/SpringideGuide/ProjectReference.png?format=raw" />
				</a>
		</p>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfigSet">BeansConfigSet</a></p>
		<h2 id="AddSpringBeansConfigfiles">Add Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> files<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#AddSpringBeansConfigfiles"> ¶</a></h2>
		<ul>
				<li>open a Spring project's properties dialog from the context menu in Eclipse resource navigator or JDT package explorer 
</li>
				<li>select the properties page "Spring Beans" from the list on the left side </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles1.png">
						<img title="Spring project properties dialog with BeansConfig tab" alt="Spring project properties dialog with BeansConfig tab" src="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles1.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>(optionally) modify the comma-separated list of supported <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> file extensions (default is "xml") 
</li>
				<li>use the button "Add..." to open a selector dialog providing a list of all files with the specified extensions in your Spring project and select the corresponding Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> files </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles2.png">
						<img title="Spring project properties dialog with Add BeansConfig dialog" alt="Spring project properties dialog with Add BeansConfig dialog" src="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles2.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>once the config files are selected the corresponding files are decorated with a small 'S' in Eclipse resource navigator or JDT package explorer </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles3.png">
						<img title="Package explorer with decorated BeansConfig files" alt="Package explorer with decorated BeansConfig files" src="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles3.png?format=raw" />
				</a>
		</p>
		<hr />
		<p>See also: <a class="missing wiki" href="http://springide.org/project/wiki/BeansProjectProperties" rel="nofollow">BeansProjectProperties?</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a></p>
		<h2 id="CreateSpringBeansConfigfilesetsoptional">Create Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> file sets (optional)<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#CreateSpringBeansConfigfilesetsoptional"> ¶</a></h2>
		<ul>
				<li>open a Spring project's properties dialog from the context menu in Eclipse resource navigator or JDT package explorer 
</li>
				<li>select the properties page "Spring Beans" from the list on the left side 
</li>
				<li>select the second tab labeled "Config Sets" </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets1.png">
						<img title="Spring project properties dialog with BeansConfigSet tab" alt="Spring project properties dialog with BeansConfigSet tab" src="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets1.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>use the button "New..." to open a dialog for creating a new config set with a selection of all config files (added in the previous step) belonging to this config set 
<ul><li>define a unique name for the config set 
</li><li>activate the checkbox "Enable bean override" if multiple beans with the same ID should be overidden by the last bean (used by the <a class="wiki" href="http://springide.org/project/wiki/BeansConfigValidator">BeansConfigValidator</a> only -&gt; if activated then bean overriding is not treated as validation error) 
</li><li>activate the checkbox "Is incomplete" if this config set does not contain all beans which are referenced by other beans defined in this config set (used by the <a class="wiki" href="http://springide.org/project/wiki/BeansConfigValidator">BeansConfigValidator</a> only -&gt; if activated then unresolved bean references are not treated as validation errors) 
</li><li>externally defined config files (as described in section "Add references to other Spring projects") are decorated with a small blue arrow) </li></ul></li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets2.png">
						<img title="Create new BeansConfigSet dialog" alt="Create new BeansConfigSet dialog" src="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets2.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>use the buttons "Move Up" and "Move Down" to change the order of the config files within the config set (important for bean overriding) </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets3.png">
						<img title="Spring project properties dialog with BeansConfigSet tab" alt="Spring project properties dialog with BeansConfigSet tab" src="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets3.png?format=raw" />
				</a>
		</p>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfigSet">BeansConfigSet</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfigValidator">BeansConfigValidator</a></p>
		<h2 id="OpenSpringBeansView">Open Spring <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a><a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#OpenSpringBeansView"> ¶</a></h2>
		<ul>
				<li>select from within any of the added Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> files opened in an Eclipse editor the menu item "Navigate/Show In/Spring Beans" </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansView1.png">
						<img title="added screen shoot" alt="added screen shoot" src="http://springide.org/project/attachment/wiki/SpringideGuide/BeansView1.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>once the menu item is selected the Spring <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a> is opened and the corresponding Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> file is selected in the view's model </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansView2.png">
						<img title="Editor and Beans View" alt="Editor and Beans View" src="http://springide.org/project/attachment/wiki/SpringideGuide/BeansView2.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>double-clicking on certain entries in the Spring <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a> (bean, property or constructor argument) navigates to the corresponding location in the config file 
</li>
				<li>by selecting the corresponding toolbar actions the <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a> supports alphabetical sorting and syncing with the <a class="wiki" href="http://springide.org/project/wiki/BeansXmlEditor">BeansXmlEditor</a></li>
		</ul>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansXmlEditor">BeansXmlEditor</a></p>
		<h2 id="ValidateSpringBeansConfigfile">Validate Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> file<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#ValidateSpringBeansConfigfile"> ¶</a></h2>
		<ul>
				<li>after modifying and saving any of the added Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> files from within an open Eclipse editor this config is automatically validated by Spring IDE 
</li>
				<li>for any error occured during validation a problem marker is created and listed in Eclipse's problem view </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/ConfigValidator.png">
						<img title="Editor with problem markers and problem view" alt="Editor with problem markers and problem view" src="http://springide.org/project/attachment/wiki/SpringideGuide/ConfigValidator.png?format=raw" />
				</a>
		</p>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfigValidator">BeansConfigValidator</a></p>
		<h2 id="OpenSpringBeansGraph">Open Spring <a class="wiki" href="http://springide.org/project/wiki/BeansGraph">BeansGraph</a><a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#OpenSpringBeansGraph"> ¶</a></h2>
		<ul>
				<li>right-clicking on certain entries in the Spring <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a> (config, config set or bean) opens a read-only editor showing a graph with all beans referenced by the selected view entry </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansGraph.png">
						<img title="BeansGraph with outline view" alt="BeansGraph with outline view" src="http://springide.org/project/attachment/wiki/SpringideGuide/BeansGraph.png?format=raw" />
				</a>
		</p>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfigSet">BeansConfigSet</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansGraph">BeansGraph</a></p>
		<h2 id="SearchforSpringBeans">Search for Spring Beans<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#SearchforSpringBeans"> ¶</a></h2>
		<ul>
				<li>open the search dialog via the "Search / Search..." menu 
</li>
				<li>select the tab "Spring Beans Search" to switch to the <a class="wiki" href="http://springide.org/project/wiki/BeansSearch">BeansSearch</a> dialog </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansSearch.png">
						<img title="Screenshoot of Spring Beans search dialog" alt="Screenshoot of Spring Beans search dialog" src="http://springide.org/project/attachment/wiki/SpringideGuide/BeansSearch.png?format=raw" />
				</a>
		</p>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/BeansSearch">BeansSearch</a></p>
		<h3 id="tkt-changes-hdr">Attachments</h3>
		<ul class="tkt-chg-list">
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/AddNature.png">AddNature.png</a> (55.5 kB) -<q>added screenshoot</q>, added by tjuerge on 07/16/05 16:14:33. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/NatureAdded.png">NatureAdded.png</a> (11.3 kB) -<q>added screenshoot</q>, added by tjuerge on 07/16/05 16:14:44. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/ProjectReference.png">ProjectReference.png</a> (67.9 kB) -<q>added screenshoot</q>, added by tjuerge on 07/16/05 16:36:31. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansView1.png">BeansView1.png</a> (107.8 kB) -<q>added screen shoot</q>, added by tjuerge on 07/16/05 18:23:19. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/SpringProjectWizardSelection.png">SpringProjectWizardSelection.png</a> (25.5 kB) -<q>Screenshoot of wizard selection dialog</q>, added by tjuerge on 04/04/06 22:53:39. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/SpringProjectWizard.png">SpringProjectWizard.png</a> (51.3 kB) -<q>Screenshoot of Spring project wizard</q>, added by tjuerge on 04/04/06 22:56:07. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansSearch.png">BeansSearch.png</a> (178.1 kB) -<q>Screenshoot of Spring Beans search dialog</q>, added by tjuerge on 04/04/06 23:21:51. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles2.png">AddConfigFiles2.png</a> (80.9 kB) -<q>Spring project properties dialog with Add <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> dialog</q>, added by tjuerge on 04/24/06 00:24:35. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles1.png">AddConfigFiles1.png</a> (74.7 kB) -<q>Spring project properties dialog with <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> tab</q>, added by tjuerge on 04/24/06 00:25:05. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles3.png">AddConfigFiles3.png</a> (31.0 kB) -<q>Package explorer with decorated <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> files</q>, added by tjuerge on 04/24/06 00:26:00. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets1.png">CreateConfigSets1.png</a> (106.0 kB) -<q>Spring project properties dialog with <a class="wiki" href="http://springide.org/project/wiki/BeansConfigSet">BeansConfigSet</a> tab</q>, added by tjuerge on 04/24/06 00:42:41. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets2.png">CreateConfigSets2.png</a> (49.5 kB) -<q>Create new <a class="wiki" href="http://springide.org/project/wiki/BeansConfigSet">BeansConfigSet</a> dialog</q>, added by tjuerge on 04/24/06 00:43:18. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets3.png">CreateConfigSets3.png</a> (114.8 kB) -<q>Spring project properties dialog with <a class="wiki" href="http://springide.org/project/wiki/BeansConfigSet">BeansConfigSet</a> tab</q>, added by tjuerge on 04/24/06 00:44:37. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansView2.png">BeansView2.png</a> (211.8 kB) -<q>Editor and Beans View</q>, added by tjuerge on 04/24/06 00:52:00. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/ConfigValidator.png">ConfigValidator.png</a> (200.6 kB) -<q>Editor with problem markers and problem view</q>, added by tjuerge on 04/24/06 01:09:40. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansGraph.png">BeansGraph.png</a> (155.8 kB) -<q><a class="wiki" href="http://springide.org/project/wiki/BeansGraph">BeansGraph</a> with outline view</q>, added by tjuerge on 04/24/06 01:13:27. </li>
		</ul><img src ="http://www.blogjava.net/51AOP/aggbug/43029.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-04-25 15:10 <a href="http://www.blogjava.net/51AOP/articles/43029.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在netbeans 中使用 svn, </title><link>http://www.blogjava.net/51AOP/articles/41841.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Wed, 19 Apr 2006 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/articles/41841.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/41841.html</wfw:comment><comments>http://www.blogjava.net/51AOP/articles/41841.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/41841.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/41841.html</trackback:ping><description><![CDATA[<a href="http://blog.matrix.org.cn/page/icess?entry=subversion_d">
				<br />请点击如下连接<br />http://blog.matrix.org.cn/page/icess?entry=subversion_d</a><img src ="http://www.blogjava.net/51AOP/aggbug/41841.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-04-19 11:20 <a href="http://www.blogjava.net/51AOP/articles/41841.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用 Eclipse、WTP 和 Derby 构建 Web 应用程序</title><link>http://www.blogjava.net/51AOP/articles/41618.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Tue, 18 Apr 2006 04:03:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/articles/41618.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/41618.html</wfw:comment><comments>http://www.blogjava.net/51AOP/articles/41618.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/41618.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/41618.html</trackback:ping><description><![CDATA[<p>今天在IBM上找到一篇关于 Derby的文章 分享一下: <br /><br />使用 Eclipse、Web Tools Platform (WTP) for Eclipse、Derby 和 Jakarta-Tomcat 构建动态 Web 应用程序是件很容易的事。本文将带您学习如何安装和配置所有这些必需的开放源码组件，并使用 JSP 和 servlet 构建一个完整的用于向 Derby 数据库存储和获取信息的 Web 应用程序。<br /><br />详细情况点击 连接: <a href="http://www-128.ibm.com/developerworks/cn/db2/library/techarticles/dm-0501roux/index.html">http://www-128.ibm.com/developerworks/cn/db2/library/techarticles/dm-0501roux/index.html</a> </p><img src ="http://www.blogjava.net/51AOP/aggbug/41618.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-04-18 12:03 <a href="http://www.blogjava.net/51AOP/articles/41618.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Args4J (Java 命令行参数控制开源项目) 使用指南  </title><link>http://www.blogjava.net/51AOP/articles/40650.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Wed, 12 Apr 2006 06:27:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/articles/40650.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/40650.html</wfw:comment><comments>http://www.blogjava.net/51AOP/articles/40650.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/40650.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/40650.html</trackback:ping><description><![CDATA[<p align="center">
				<b>
						<font size="5">Args4J 使用指南<br /></font>
				</b>
		</p>
		<p>
				<a href="https://args4j.dev.java.net/" target="_blank">
						<br />
						<br />
						<br />Args4J</a> 是一个用来出来命令行的工具.</p>
		<p>在实际的项目中用到命令行的并不是很常见,但当真正使用到时,特别是在程序启动时配置一下参数的时候就很有用了,如果参数很多的话,一个一个解析命令行还是比较麻烦的.这时使用Args4J就相当好办了. 在本文中我们来看看Args4J的使用,当需要时能提供一个解决方案.</p>
		<p>Args4J使用一个被称为Option类的类来保存输入的参数,让后根据该类来应用参数,每个参数可以对应一个类中的属性,该属性用Annotation注释,在Annotation中给出该参数 的选项, 还可以配置其他有用的信息.该Annotation就是 Option 注解: 该注解的doc如下:</p>
		<p>Marks a field/setter that receives a command line switch value. </p>
		<p>This annotation can be placed on a field of type T or the method of the form <tt>void <i>methodName</i>(T value)</tt>. Its access modified can be anything, but if it's not public, your application needs to run in a security context that allows args4j to access the field/method (see <a title="class or interface in java.lang.reflect" href="http://java.sun.com/j2se/5.0/docs/api/java/lang/reflect/AccessibleObject.html#setAccessible(boolean)"><code>AccessibleObject.setAccessible(boolean)</code></a>. </p>
		<p>The behavior of the annotation differs depending on T --- the type of the field or the parameter of the method. </p>
		<h2>Boolean Switch</h2>
		<p>When T is boolean , it represents a boolean option that takes the form of "-OPT". When this option is set, the property will be set to true. </p>
		<h2>String Switch</h2>
		<p>When T is <a title="class or interface in java.lang" href="http://java.sun.com/j2se/5.0/docs/api/java/lang/String.html"><code>String</code></a>, it represents an option that takes one operand. The value of the operand is set to the property. </p>
		<h2>Enum Switch</h2>
		<p>When T is derived from <a title="class or interface in java.lang" href="http://java.sun.com/j2se/5.0/docs/api/java/lang/Enum.html"><code>Enum</code></a>, it represents an option that takes an operand, which must be one of the enum constant. The comparion between the operand and the enum constant name is done in a case insensitive fashion. </p>
		<p>For example, the following definition will represent command line options like "-coin penny" or "-coin DIME" but things like "-coin" or "-coin abc" are errors. </p>
		<pre> enum Coin { PENNY,NICKEL,DIME,QUARTER }

 class Option {
   @Option(name="-coin")
   public Coin coin;
 }
 </pre>
		<h2>File Switch</h2>
		<p>When T is a <a title="class or interface in java.io" href="http://java.sun.com/j2se/5.0/docs/api/java/io/File.html"><code>File</code></a>, it represents an option that takes a file/directory name as an operand. </p>
		<p>该注解有5各域 其中name是必须的,其他四个是可选的.如下所示,关于该注解的详细Doc请查看 <a href="http://blog.matrix.org.cn/page/icess?entry=cmdlineparser" target="_blank">其docs</a>.</p>
		<table id="table1" cellspacing="0" cellpadding="3" width="100%" summary="" border="1">
				<tbody>
						<tr class="TableHeadingColor" bgcolor="#ccccff">
								<th align="left" colspan="2">
										<font size="+2">
												<b>Required Element Summary</b>
										</font>
								</th>
						</tr>
						<tr class="TableRowColor" bgcolor="white">
								<td valign="top" align="right" width="1%">
										<font size="-1">
												<code> <a title="class or interface in java.lang" href="http://java.sun.com/j2se/5.0/docs/api/java/lang/String.html">String</a></code>
										</font>
								</td>
								<td>
										<code>
												<b>
														<a href="file:///G:/Download/args4j-2.0.5/docs/apidocs/org/kohsuke/args4j/Option.html#name()">name</a>
												</b>
										</code>
										<br />          Name of the option, such as "-foo" or "-bar".</td>
						</tr>
				</tbody>
		</table> <!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== --><a name="annotation_type_optional_element_summary"><!-- --></a><table id="table2" cellspacing="0" cellpadding="3" width="100%" summary="" border="1"><tbody><tr class="TableHeadingColor" bgcolor="#ccccff"><th align="left" colspan="2"><font size="+2"><b>Optional Element Summary</b></font></th></tr><tr class="TableRowColor" bgcolor="white"><td valign="top" align="right" width="1%"><font size="-1"><code> <a title="class or interface in java.lang" href="http://java.sun.com/j2se/5.0/docs/api/java/lang/Class.html">Class</a>&lt;? extends <a title="class in org.kohsuke.args4j.spi" href="file:///G:/Download/args4j-2.0.5/docs/apidocs/org/kohsuke/args4j/spi/OptionHandler.html">OptionHandler</a>&gt;</code></font></td><td><code><b><a href="file:///G:/Download/args4j-2.0.5/docs/apidocs/org/kohsuke/args4j/Option.html#handler()">handler</a></b></code><br />          Specify the <a title="class in org.kohsuke.args4j.spi" href="file:///G:/Download/args4j-2.0.5/docs/apidocs/org/kohsuke/args4j/spi/OptionHandler.html"><code>OptionHandler</code></a> that processes the command line arguments.</td></tr><tr class="TableRowColor" bgcolor="white"><td valign="top" align="right" width="1%"><font size="-1"><code> <a title="class or interface in java.lang" href="http://java.sun.com/j2se/5.0/docs/api/java/lang/String.html">String</a></code></font></td><td><code><b><a href="file:///G:/Download/args4j-2.0.5/docs/apidocs/org/kohsuke/args4j/Option.html#metaVar()">metaVar</a></b></code><br />          When the option takes an operand, the usage screen will show something like this:</td></tr><tr class="TableRowColor" bgcolor="white"><td valign="top" align="right" width="1%"><font size="-1"><code> boolean</code></font></td><td><code><b><a href="file:///G:/Download/args4j-2.0.5/docs/apidocs/org/kohsuke/args4j/Option.html#required()">required</a></b></code><br />          Specify that the option is mandatory.</td></tr><tr class="TableRowColor" bgcolor="white"><td valign="top" align="right" width="1%"><font size="-1"><code> <a title="class or interface in java.lang" href="http://java.sun.com/j2se/5.0/docs/api/java/lang/String.html">String</a></code></font></td><td><code><b><a href="file:///G:/Download/args4j-2.0.5/docs/apidocs/org/kohsuke/args4j/Option.html#usage()">usage</a></b></code><br />          Help string used to display the usage screen.</td></tr></tbody></table><p>　</p><p>当命令行设定后 其使用方式和java 命令里面的参数使用方式一样 如:java -cp ./calssPath/.......</p><p>下面通过一个例子来解释:</p><p><code style="FONT-SIZE: 10pt; MARGIN: 0px; FONT-FAMILY: 'Courier New', Courier"><font color="#808080">001</font> <font color="#3f7f5f">/*</font><br /><font color="#808080">002</font> <font color="#ffffff"> </font><font color="#3f7f5f">* Created on 2006-2-21</font><br /><font color="#808080">003</font> <font color="#ffffff"> </font><font color="#3f7f5f">* @author <a title="我的Blog" href="http://blog.matrix.org.cn/page/icess" target="_blank">icerain</a></font><br /><font color="#808080">004</font> <font color="#ffffff"> </font><font color="#3f7f5f">*/</font><br /><font color="#808080">005</font> <font color="#7f0055"><b>package </b></font><font color="#000000">test.args4j;</font><br /><font color="#808080">006</font> <br /><font color="#808080">007</font> <font color="#7f0055"><b>import </b></font><font color="#000000">org.kohsuke.args4j.Argument;</font><br /><font color="#808080">008</font> <font color="#7f0055"><b>import </b></font><font color="#000000">org.kohsuke.args4j.CmdLineException;</font><br /><font color="#808080">009</font> <font color="#7f0055"><b>import </b></font><font color="#000000">org.kohsuke.args4j.CmdLineParser;</font><br /><font color="#808080">010</font> <font color="#7f0055"><b>import </b></font><font color="#000000">org.kohsuke.args4j.ExampleMode;</font><br /><font color="#808080">011</font> <font color="#7f0055"><b>import </b></font><font color="#000000">org.kohsuke.args4j.Option;</font><br /><font color="#808080">012</font> <font color="#7f0055"><b>import </b></font><font color="#000000">org.kohsuke.args4j.spi.BooleanOptionHandler;</font><br /><font color="#808080">013</font> <br /><font color="#808080">014</font> <font color="#7f0055"><b>import </b></font><font color="#000000">java.io.File;</font><br /><font color="#808080">015</font> <font color="#7f0055"><b>import </b></font><font color="#000000">java.io.IOException;</font><br /><font color="#808080">016</font> <font color="#7f0055"><b>import </b></font><font color="#000000">java.util.ArrayList;</font><br /><font color="#808080">017</font> <font color="#7f0055"><b>import </b></font><font color="#000000">java.util.List;</font><br /><font color="#808080">018</font> <br /><font color="#808080">019</font> <font color="#7f0055"><b>public class </b></font><font color="#000000">TestArgs4J {</font><br /><font color="#808080">020</font> <font color="#ffffff">  </font><font color="#3f7f5f">// 利用Option注解来定义一个boolean 命令行参数 其参数name为 -re ,required指定该参数是必须的</font><br /><font color="#808080">021</font> <font color="#ffffff">  </font><font color="#000000">@Option(name = </font><font color="#2a00ff">"-re"</font><font color="#000000">, usage = </font><font color="#2a00ff">"recursively run something"</font><font color="#000000">, required = </font><font color="#7f0055"><b>true</b></font><font color="#000000">)</font><br /><font color="#808080">022</font> <font color="#ffffff">  </font><font color="#7f0055"><b>private boolean </b></font><font color="#000000">recursive;</font><br /><font color="#808080">023</font> <br /><font color="#808080">024</font> <font color="#ffffff">  </font><font color="#3f7f5f">//利用Option注解定义一个File 命令行参数, name为-o, 输入时候知道该file的路径就可以了</font><br /><font color="#808080">025</font> <font color="#ffffff">  </font><font color="#3f7f5f">//metaVar 用来设定显示 使用方式时候的输出,这个输出为-o OUTPUT : output to this file</font><br /><font color="#808080">026</font> <font color="#ffffff">  </font><font color="#3f7f5f">//如果不指定该属性 则使用默认的代替 为-o FILE : output to this file</font><br /><font color="#808080">027</font> <font color="#ffffff">  </font><font color="#000000">@Option(name = </font><font color="#2a00ff">"-o"</font><font color="#000000">, usage = </font><font color="#2a00ff">"output to this file"</font><font color="#000000">, metaVar = </font><font color="#2a00ff">"OUTPUT"</font><font color="#000000">)</font><br /><font color="#808080">028</font> <font color="#ffffff">  </font><font color="#7f0055"><b>private </b></font><font color="#000000">File out = </font><font color="#7f0055"><b>new </b></font><font color="#000000">File(</font><font color="#2a00ff">"."</font><font color="#000000">);</font><br /><font color="#808080">029</font> <br /><font color="#808080">030</font> <font color="#ffffff">  </font><font color="#3f7f5f">//If 'usage' value is empty, the option will not be displayed</font><br /><font color="#808080">031</font> <font color="#ffffff">    </font><font color="#3f7f5f">// in the usage screen.</font><br /><font color="#808080">032</font> <font color="#ffffff">  </font><font color="#3f7f5f">//注意该处没有指定 usage 属性 或者指定usage 但是其值为空的 如usage = "",这样当使用</font><br /><font color="#808080">033</font> <font color="#ffffff">  </font><font color="#3f7f5f">//parser.printExample(ExampleMode.ALL) 请注意下面第92行的输出</font><br /><font color="#808080">034</font> <font color="#ffffff">  </font><font color="#000000">@Option(name = </font><font color="#2a00ff">"-str"</font><font color="#000000">, required = </font><font color="#7f0055"><b>true</b></font><font color="#000000">)</font><br /><font color="#808080">035</font> <font color="#ffffff">  </font><font color="#3f7f5f">//@Option(name = "-str", usage = "测试", required = true)  // 该行 -str参数有用</font><br /><font color="#808080">036</font> <font color="#ffffff">  </font><font color="#3f7f5f">// no usage</font><br /><font color="#808080">037</font> <font color="#ffffff">  </font><br /><font color="#808080">038</font> <font color="#ffffff">  </font><font color="#7f0055"><b>private </b></font><font color="#000000">String str = </font><font color="#2a00ff">"(default value)"</font><font color="#000000">;</font><br /><font color="#808080">039</font> <br /><font color="#808080">040</font> <font color="#ffffff">  </font><font color="#3f7f5f">// 整数参数</font><br /><font color="#808080">041</font> <font color="#ffffff">  </font><font color="#000000">@Option(name = </font><font color="#2a00ff">"-n"</font><font color="#000000">, usage = </font><font color="#2a00ff">"repeat &lt;n&gt; times\nusage can have new lines in it and also it can be verrry long"</font><font color="#000000">)</font><br /><font color="#808080">042</font> <font color="#ffffff">  </font><font color="#7f0055"><b>private int </b></font><font color="#000000">num = -</font><font color="#990000">1</font><font color="#000000">;</font><br /><font color="#808080">043</font> <br /><font color="#808080">044</font> <font color="#ffffff">  </font><font color="#3f7f5f">// using 'handler=...' allows you to specify a custom OptionHandler</font><br /><font color="#808080">045</font> <font color="#ffffff">  </font><font color="#3f7f5f">// implementation class. This allows you to bind a standard Java type</font><br /><font color="#808080">046</font> <font color="#ffffff">  </font><font color="#3f7f5f">// with a non-standard option syntax</font><br /><font color="#808080">047</font> <font color="#ffffff">  </font><font color="#3f7f5f">//指定一个特定的handler </font><br /><font color="#808080">048</font> <font color="#ffffff">  </font><font color="#000000">@Option(name = </font><font color="#2a00ff">"-custom"</font><font color="#000000">, handler=BooleanOptionHandler.class,usage=</font><font color="#2a00ff">"boolean value for checking the custom handler"</font><font color="#000000">)</font><br /><font color="#808080">049</font> <font color="#ffffff">  </font><font color="#7f0055"><b>private boolean </b></font><font color="#000000">data;</font><br /><font color="#808080">050</font> <br /><font color="#808080">051</font> <font color="#ffffff">  </font><font color="#3f7f5f">// receives other command line parameters than options</font><br /><font color="#808080">052</font> <font color="#ffffff">  </font><font color="#000000">@Argument</font><br /><font color="#808080">053</font> <font color="#ffffff">  </font><font color="#7f0055"><b>private </b></font><font color="#000000">List&lt;String&gt; arguments = </font><font color="#7f0055"><b>new </b></font><font color="#000000">ArrayList&lt;String&gt;();</font><br /><font color="#808080">054</font> <br /><font color="#808080">055</font> <font color="#ffffff">  </font><font color="#7f0055"><b>public static void </b></font><font color="#000000">main(String[] args) </font><font color="#7f0055"><b>throws </b></font><font color="#000000">IOException {</font><br /><font color="#808080">056</font> <font color="#ffffff">    </font><font color="#7f0055"><b>new </b></font><font color="#000000">TestArgs4J().doMain(args);</font><br /><font color="#808080">057</font> <font color="#ffffff">  </font><font color="#000000">}</font><br /><font color="#808080">058</font> <br /><font color="#808080">059</font> <font color="#ffffff">  </font><font color="#7f0055"><b>public void </b></font><font color="#000000">doMain(String[] args) </font><font color="#7f0055"><b>throws </b></font><font color="#000000">IOException {</font><br /><font color="#808080">060</font> <font color="#ffffff">    </font><font color="#3f7f5f">//Creates a new command line owner that parses arguments/options<br /><br />             and set them into the given object.</font><br /><font color="#808080">061</font> <font color="#ffffff">    </font><font color="#000000">CmdLineParser parser = </font><font color="#7f0055"><b>new </b></font><font color="#000000">CmdLineParser(</font><font color="#7f0055"><b>this</b></font><font color="#000000">);</font><br /><font color="#808080">062</font> <br /><font color="#808080">063</font> <font color="#ffffff">    </font><font color="#7f0055"><b>try </b></font><font color="#000000">{</font><br /><font color="#808080">064</font> <font color="#ffffff">      </font><font color="#3f7f5f">// parse the arguments.</font><br /><font color="#808080">065</font> <font color="#ffffff">      </font><font color="#000000">parser.parseArgument(args);</font><br /><font color="#808080">066</font> <br /><font color="#808080">067</font> <font color="#ffffff">      </font><font color="#3f7f5f">// you can parse additional arguments if you want.</font><br /><font color="#808080">068</font> <font color="#ffffff">      </font><font color="#3f7f5f">// parser.parseArgument("more","args");</font><br /><font color="#808080">069</font> <br /><font color="#808080">070</font> <font color="#ffffff">      </font><font color="#3f7f5f">// after parsing arguments, you should check</font><br /><font color="#808080">071</font> <font color="#ffffff">      </font><font color="#3f7f5f">// if enough arguments are given.</font><br /><font color="#808080">072</font> <font color="#ffffff">      </font><font color="#7f0055"><b>if </b></font><font color="#000000">(arguments.isEmpty())</font><br /><font color="#808080">073</font> <font color="#ffffff">        </font><font color="#7f0055"><b>throw new </b></font><font color="#000000">CmdLineException(</font><font color="#2a00ff">"No argument is given"</font><font color="#000000">);</font><br /><font color="#808080">074</font> <br /><font color="#808080">075</font> <font color="#ffffff">    </font><font color="#000000">} </font><font color="#7f0055"><b>catch </b></font><font color="#000000">(CmdLineException e) {</font><br /><font color="#808080">076</font> <font color="#ffffff">      </font><font color="#3f7f5f">// if there's a problem in the command line,</font><br /><font color="#808080">077</font> <font color="#ffffff">      </font><font color="#3f7f5f">// you'll get this exception. this will report</font><br /><font color="#808080">078</font> <font color="#ffffff">      </font><font color="#3f7f5f">// an error message.</font><br /><font color="#808080">079</font> <font color="#ffffff">      </font><font color="#000000">System.err.println(e.getMessage());  </font><font color="#3f7f5f">//打印出错消息</font><br /><font color="#808080">080</font> <font color="#ffffff">      </font><font color="#000000">System.err.println(</font><font color="#2a00ff">"java SampleMain [options...] arguments..."</font><font color="#000000">);</font><br /><font color="#808080">081</font> <font color="#ffffff">      </font><font color="#3f7f5f">// print the list of available options</font><br /><font color="#808080">082</font> <font color="#ffffff">      </font><font color="#000000">parser.printUsage(System.err);  </font><font color="#3f7f5f">// 打印参数的用法</font><br /><font color="#808080">083</font> <font color="#ffffff">      </font><font color="#000000">System.err.println();</font><br /><font color="#808080">084</font> <br /><font color="#808080">085</font> <font color="#ffffff">      </font><font color="#000000">System.err.println(</font><font color="#2a00ff">"测试!!!!!"</font><font color="#000000">);</font><br /><font color="#808080">086</font> <font color="#ffffff">      </font><font color="#3f7f5f">// print option sample. This is useful some time</font><br /><font color="#808080">087</font> <font color="#ffffff">      </font><font color="#000000">System.err.println(</font><font color="#2a00ff">"  Example: java SampleMain"</font><br /><font color="#808080">088</font> <font color="#ffffff">          </font><font color="#000000">+ parser.printExample(ExampleMode.ALL));        <br /><br />// 注意 在Option中如果没有指定 usage 属性,</font><br /><font color="#808080">089</font> <font color="#ffffff">      </font><font color="#000000">System.err.println(</font><font color="#2a00ff">"/n 2........."</font><font color="#000000">);                <br /><br />//</font></code><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New', Courier"><font color="#000000">则这两行程序不会输出该参数的使用的</font></code><code style="FONT-SIZE: 10pt; MARGIN: 0px; FONT-FAMILY: 'Courier New', Courier"><br /><font color="#808080">090</font> <br /><font color="#808080">091</font> <font color="#ffffff">      </font><font color="#000000">System.err.println(</font><font color="#2a00ff">" 2 Example2: java SampleMain"  <br /><br />//</font></code><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New', Courier"><font color="#000000">注意 在Option中如果没有指定 usage 属性,</font></code><code style="FONT-SIZE: 10pt; MARGIN: 0px; FONT-FAMILY: 'Courier New', Courier"><br /><font color="#808080">092</font> <font color="#ffffff">          </font><font color="#000000">+ parser.printExample(ExampleMode.REQUIRED));   <br /><br />//</font></code><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New', Courier"><font color="#000000">则这两行程序不会输出该参数的使用的</font></code><code style="FONT-SIZE: 10pt; MARGIN: 0px; FONT-FAMILY: 'Courier New', Courier"><br /><font color="#808080">093</font> <font color="#ffffff">      </font><font color="#7f0055"><b>return</b></font><font color="#000000">;</font><br /><font color="#808080">094</font> <font color="#ffffff">    </font><font color="#000000">}</font><br /><font color="#808080">095</font> <br /><font color="#808080">096</font> <font color="#ffffff">    </font><font color="#3f7f5f">// this will redirect the output to the specified output</font><br /><font color="#808080">097</font> <font color="#ffffff">    </font><font color="#000000">System.out.println(out);</font><br /><font color="#808080">098</font> <br /><font color="#808080">099</font> <font color="#ffffff">    </font><font color="#7f0055"><b>if </b></font><font color="#000000">(recursive)</font><br /><font color="#808080">100</font> <font color="#ffffff">      </font><font color="#000000">System.out.println(</font><font color="#2a00ff">"-r flag is set"</font><font color="#000000">);</font><br /><font color="#808080">101</font> <br /><font color="#808080">102</font> <font color="#ffffff">    </font><font color="#7f0055"><b>if </b></font><font color="#000000">(data)</font><br /><font color="#808080">103</font> <font color="#ffffff">      </font><font color="#000000">System.out.println(</font><font color="#2a00ff">"-custom flag is set"</font><font color="#000000">);</font><br /><font color="#808080">104</font> <br /><font color="#808080">105</font> <font color="#ffffff">    </font><font color="#000000">System.out.println(</font><font color="#2a00ff">"-str was " </font><font color="#000000">+ str);</font><br /><font color="#808080">106</font> <br /><font color="#808080">107</font> <font color="#ffffff">    </font><font color="#7f0055"><b>if </b></font><font color="#000000">(num &gt;= </font><font color="#990000">0</font><font color="#000000">)</font><br /><font color="#808080">108</font> <font color="#ffffff">      </font><font color="#000000">System.out.println(</font><font color="#2a00ff">"-n was " </font><font color="#000000">+ num);</font><br /><font color="#808080">109</font> <br /><font color="#808080">110</font> <font color="#ffffff">    </font><font color="#3f7f5f">// access non-option arguments</font><br /><font color="#808080">111</font> <font color="#ffffff">    </font><font color="#000000">System.out.println(</font><font color="#2a00ff">"other arguments are:"</font><font color="#000000">);</font><br /><font color="#808080">112</font> <font color="#ffffff">    </font><font color="#7f0055"><b>for </b></font><font color="#000000">(String s : arguments)</font><br /><font color="#808080">113</font> <font color="#ffffff">      </font><font color="#000000">System.out.println(s);</font><br /><font color="#808080">114</font> <font color="#ffffff">  </font><font color="#000000">}</font><br /><font color="#808080">115</font> <br /><font color="#808080">116</font> <font color="#000000">}</font></code></p><p><code><font size="2"><span style="FONT-FAMILY: 'Courier New', Courier">当不使用命令行时候 输入信息如下:</span></font></code></p><font color="#ff0000" size="2"><p>Option "-re" is required</p><p>java SampleMain [options...] arguments...</p><p>-custom : boolean value for checking the custom handler</p><p>-n N : repeat &lt;n&gt; times</p><p>usage can have new lines in it and also it can be verrrrrrr</p><p>rrrrrrrrrrry long</p><p>-o OUTPUT : output to this file</p><p>-re : recursively run something</p><p>测试!!!!!</p><p>Example: java SampleMain -custom -n N -o OUTPUT -re   </p></font><font size="2"><b>// 注意该处没有 -str的出现</b></font><font color="#ff0000" size="2"><p>/n 2.........</p><p>2 Example2: java SampleMain -re<font size="2"><b></b></font></p></font><font size="2"> <b>// 注意该处没有 -str的出现</b></font><p>当使用 -re 为命令行输入时,输出如下:// 后为作者加的注释 不是输出</p><font color="#ff0000" size="2"><p>Option "-str" is required  </p></font><font size="2"> <b>//也要指定-str该参数 </b></font><font color="#ff0000" size="2"><p>java SampleMain [options...] arguments...</p><p>-custom : boolean value for checking the custom handler</p><p>-n N : repeat &lt;n&gt; times</p><p>usage can have new lines in it and also it can be verrrrrrr</p><p>rrrrrrrrrrry long</p><p>-o OUTPUT : output to this file</p><p>-re : recursively run something</p><p>测试!!!!!</p><p>Example: java SampleMain -custom -n N -o OUTPUT -re</p><p>/n 2.........</p><p>2 Example2: java SampleMain -re</p></font><p>当使用-re -str some 为命令行输入时,结果如下:这是由于的73 行的判断引起的</p><font color="#ff0000" size="2"><p>No argument is given</p><p>java SampleMain [options...] arguments...</p><p>-custom : boolean value for checking the custom handler</p><p>-n N : repeat &lt;n&gt; times</p><p>usage can have new lines in it and also it can be verrrrrrr</p><p>rrrrrrrrrrry long</p><p>-o OUTPUT : output to this file</p><p>-re : recursively run something</p><p>测试!!!!!</p><p>Example: java SampleMain -custom -n N -o OUTPUT -re</p><p>/n 2.........</p><p>2 Example2: java SampleMain -re</p></font><p>使用-custom -n 2 -re -str some otherstring 为命令行输入时的 结果如下:</p><font size="2"><p>.    // file </p><p>-r flag is set</p><p>-custom flag is set</p><p>-str was some</p><p>-n was 2</p><p>other arguments are:</p><p>otherstring</p></font><p>当使用-custom -n 2 -re -str some -o log.txt otherstring 时候的输出如下:</p><font size="2"><p>log.txt</p><p>-r flag is set</p><p>-custom flag is set</p><p>-str was some</p><p>-n was 2</p><p>other arguments are:</p><p>otherstring</p></font><p>当使用一个不存在的参数时候 会有Exception的 例如:-custom -ee 2 -re -str some -o log.txt otherstring <br /><br />其中-ee参数不存在 结果如下:</p><font color="#ff0000" size="2"><p>"-ee" is not a valid option</p><p>java SampleMain [options...] arguments...</p><p>-custom : boolean value for checking the custom handler</p><p>-n N : repeat &lt;n&gt; times</p></font><p>......</p><p>由以上的实例可以看出 args4J 取得命令行的输入参数,然后根据保存参数的类中的属性类型比较<br /> <br />并转换为适当的值, 然后我们可以使用这些属性了,这样就免去了自己判断args 的麻烦了, <br /><br />当默认的Handler不满足你的要求时 可以自己扩展Handler实现,关于这点请参考Args4J的测试用例,<br /><br />From : java <a title="java爱好者 -- 爱好java 关注开源" href="http://icess.my.china.com/" target="_blank">爱好者</a>  by : icess</p><img src ="http://www.blogjava.net/51AOP/aggbug/40650.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-04-12 14:27 <a href="http://www.blogjava.net/51AOP/articles/40650.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>