﻿<?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-BaNg-随笔分类-网摘备用</title><link>http://www.blogjava.net/lifesting/category/30519.html</link><description>Just Do It!</description><language>zh-cn</language><lastBuildDate>Wed, 23 Apr 2008 11:21:31 GMT</lastBuildDate><pubDate>Wed, 23 Apr 2008 11:21:31 GMT</pubDate><ttl>60</ttl><item><title>windows批处理中对带空格路径的处理</title><link>http://www.blogjava.net/lifesting/archive/2008/04/23/195102.html</link><dc:creator>Always BaNg.</dc:creator><author>Always BaNg.</author><pubDate>Wed, 23 Apr 2008 07:04:00 GMT</pubDate><guid>http://www.blogjava.net/lifesting/archive/2008/04/23/195102.html</guid><wfw:comment>http://www.blogjava.net/lifesting/comments/195102.html</wfw:comment><comments>http://www.blogjava.net/lifesting/archive/2008/04/23/195102.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/lifesting/comments/commentRss/195102.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lifesting/services/trackbacks/195102.html</trackback:ping><description><![CDATA[<p>一般在Windows的软件大部分安装在c:\ Program Files下面，比如我机器上的Java位置就是C:\Program Files\Java\jdk1.5.0_12，假如如果你在批处理中调用java或者javaw，会这么写：<br />
<br />
set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12<br />
set EXE_JAVA=%JAVA_HOME%\bin\java<br />
%EXE_JAVA% -version<br />
<br />
那样会报告一个错误：<br />
<span style="color: red">'C:\Program' 不是内部或外部命令，也不是可运行的程序<br />
或批处理文件。</span><br />
<br />
以前为了避免这种问题，会把把JDK挪到c:\，但不是一个通用的解决办法，现在可以采用两种方式来解决：<br />
<br />
1 加上引号，表示一个完整路径，这个在好多服务器批处理中常用到比如jboss,&nbsp; tomcat。<br />
set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12<br />
set EXE_JAVA=<span style="color: red"><strong>"%JAVA_HOME%"</strong></span>\bin\java <br />
%EXE_JAVA% -version<br />
<br />
2 转成短路径，这个我认为是最好的解决办法。<br />
set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12<br />
<span style="color: #0000ff"><strong>for %x in ("%JAVA_HOME%") do set JAVA_HOME=%~sx</strong></span><br />
set EXE_JAVA=%JAVA_HOME%\bin\java<br />
%EXE_JAVA% -version<br />
<br />
需要注意的是，在批处理文件比如 run.bat 中，上面的for语句的变量有<strong>两个%%</strong>号。<br />
<span style="color: #0000ff"><strong>for %%x in ("%JAVA_HOME%") do set JAVA_HOME=%%~sx</strong></span><br />
<br />
<br />
<br />
<br />
</p>
<img src ="http://www.blogjava.net/lifesting/aggbug/195102.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lifesting/" target="_blank">Always BaNg.</a> 2008-04-23 15:04 <a href="http://www.blogjava.net/lifesting/archive/2008/04/23/195102.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在批处理中加载某个目录所有的jar</title><link>http://www.blogjava.net/lifesting/archive/2008/04/13/192562.html</link><dc:creator>Always BaNg.</dc:creator><author>Always BaNg.</author><pubDate>Sun, 13 Apr 2008 07:32:00 GMT</pubDate><guid>http://www.blogjava.net/lifesting/archive/2008/04/13/192562.html</guid><wfw:comment>http://www.blogjava.net/lifesting/comments/192562.html</wfw:comment><comments>http://www.blogjava.net/lifesting/archive/2008/04/13/192562.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/lifesting/comments/commentRss/192562.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lifesting/services/trackbacks/192562.html</trackback:ping><description><![CDATA[我平常做服务器或者应用程序的时候喜欢把各种依赖包如log4j, jdbc, commons-lang等放到一个lib目录下，然后启动的时候将这些jar包设置到classpath上。以前我经常使用set classpath=log4j.jar;jdbc.jar;commons-lang.jar硬加载，但<span style="color: red">问题就是每新加入一个jar，就得改批处理一次，再就是每开发一个就得这么设置一次。</span>很烦人，perl 创始人说，偷懒的程序员才是好程序员:)，我需要一个通用的加载方式。<br />
<br />
不管linux/windows或其它OS，都提供一个shell与kernel交互，并且shell都有一个类似的for内置commnd。<br />
<br />
下面是linux bash的尝试<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: #008000">#</span><span style="color: #008000">!/usr/bin/sh</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />clspath</span><span style="color: #000000">=</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">bootstrap.jar</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;k&nbsp;in&nbsp;</span><span style="color: #000000">*.</span><span style="color: #000000">jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">do</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;clspath</span><span style="color: #000000">=</span><span style="color: #800080">$clspath</span><span style="color: #000000">:</span><span style="color: #800080">$PWD</span><span style="color: #000000">/</span><span style="color: #800080">$k</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;echo&nbsp;</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">current&nbsp;jar&nbsp;is&nbsp;$k.</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />done<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">printf</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">classpath&nbsp;is&nbsp;%s</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$clspath</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
<br />
工作的很好，于是在windows同样try了一下batch<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: #800080">@echo</span><span style="color: #000000">&nbsp;off<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />set&nbsp;clspath</span><span style="color: #000000">=</span><span style="color: #000000">bootstrap</span><span style="color: #000000">.</span><span style="color: #000000">jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">%</span><span style="color: #800080">%j</span><span style="color: #000000">&nbsp;in&nbsp;(</span><span style="color: #000000">*.</span><span style="color: #000000">jar)&nbsp;</span><span style="color: #0000ff">do</span><span style="color: #000000">&nbsp;(<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />set&nbsp;clspath</span><span style="color: #000000">=</span><span style="color: #800080">%clspath</span><span style="color: #000000">%</span><span style="color: #000000">;</span><span style="color: #800080">%cd</span><span style="color: #000000">%\%</span><span style="color: #800080">%j</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />echo&nbsp;current&nbsp;jar&nbsp;is&nbsp;</span><span style="color: #000000">%</span><span style="color: #800080">%j</span><span style="color: #000000">.</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />)<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />echo&nbsp;classpath&nbsp;is&nbsp;</span><span style="color: #800080">%clspath</span><span style="color: #000000">%</span></div>
<br />
很奇怪的是最后的结果却是 classpath is <span style="color: #ff0000">bootstrap.jar;D:\workflow\bingo\lib\servlet-api.jar</span>。很显然batch默认不支持<strong>变量迭代更改</strong>。<br />
google了一下，发现原因，稍微改一下：<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"><span style="color: #008080">&nbsp;1</span><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #800080">@echo</span><span style="color: #000000">&nbsp;off<br />
</span><span style="color: #008080">&nbsp;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">&nbsp;3</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />set&nbsp;clspath</span><span style="color: #000000">=</span><span style="color: #000000">bootstrap</span><span style="color: #000000">.</span><span style="color: #000000">jar<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />setlocal&nbsp;enabledelayedexpansion<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">%</span><span style="color: #800080">%j</span><span style="color: #000000">&nbsp;in&nbsp;(</span><span style="color: #000000">*.</span><span style="color: #000000">jar)&nbsp;</span><span style="color: #0000ff">do</span><span style="color: #000000">&nbsp;(<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />set&nbsp;clspath</span><span style="color: #000000">=!</span><span style="color: #000000">clspath</span><span style="color: #000000">!</span><span style="color: #000000">;</span><span style="color: #800080">%cd</span><span style="color: #000000">%\%</span><span style="color: #800080">%j</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />echo&nbsp;current&nbsp;jar&nbsp;is&nbsp;</span><span style="color: #000000">%</span><span style="color: #800080">%j</span><span style="color: #000000">.</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />)<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />echo&nbsp;classpath&nbsp;is&nbsp;</span><span style="color: #800080">%clspath</span><span style="color: #000000">%</span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />endlocal</span></div>
<p><br />
对比一下，可以发现：</p>
<ol>
    <li>第4行加上了setlocal enabledelayedexpansion，即变量延迟展开。
    <li>第10行有一个endlocal，结束这个设置
    <li>第6行把%classpath%变成了!classpath!。 </li>
</ol>
<p>虽然目的达到了，还是要鄙视微软的dos batch，实在很弱，不知Powershell怎样。</p>
<p>参考资料：<br />
&nbsp; &nbsp;<a href="http://technet.microsoft.com/zh-cn/library/bb491001(en-us).aspx">setlocal</a> </p>
<p><br />
&nbsp;</p>
<img src ="http://www.blogjava.net/lifesting/aggbug/192562.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lifesting/" target="_blank">Always BaNg.</a> 2008-04-13 15:32 <a href="http://www.blogjava.net/lifesting/archive/2008/04/13/192562.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>当Maven遇上MyEclipse</title><link>http://www.blogjava.net/lifesting/archive/2008/04/02/190367.html</link><dc:creator>Always BaNg.</dc:creator><author>Always BaNg.</author><pubDate>Wed, 02 Apr 2008 06:32:00 GMT</pubDate><guid>http://www.blogjava.net/lifesting/archive/2008/04/02/190367.html</guid><wfw:comment>http://www.blogjava.net/lifesting/comments/190367.html</wfw:comment><comments>http://www.blogjava.net/lifesting/archive/2008/04/02/190367.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lifesting/comments/commentRss/190367.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lifesting/services/trackbacks/190367.html</trackback:ping><description><![CDATA[<br />
Maven有自己的一套约定目录规则，与MyEclipse的有冲突，其实结合也很简单，因为MyEclipse的目录可配置。<br />
<br />
1 用maven创建一个web project<br />
<strong>&nbsp;mvn archetype:create&nbsp;&nbsp; -DgroupId=com.lifesting&nbsp; -DartifactId=test&nbsp; -DarchetypeArtifactId=maven-archetype-webapp<br />
</strong><br />
2 补全某些目录<br />
&nbsp;cd test\src<br />
&nbsp;mkdir&nbsp;main\java<br />
&nbsp;mkdir test\resources<br />
&nbsp;mkdir test\java<br />
<br />
3 修改pom文件，在生成eclipse项目的时候maven eclipse plugin使用此配置<br />
&nbsp; 在project/build下面插入<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: #0000ff">&lt;</span><span style="color: #800000">plugins</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">plugin</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">org.apache.maven.plugins</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">maven-eclipse-plugin</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">configuration</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">projectnatures</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">java</span><span style="color: #ff0000">.lang.String</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">com.genuitec.eclipse.j2eedt.core.webnature</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">java.lang.String</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">java</span><span style="color: #ff0000">.lang.String</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">org.eclipse.jdt.core.javanature</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">java.lang.String</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">projectnatures</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">outputDirectory</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">src/main/webapp/WEB-INF/classes</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">outputDirectory</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">configuration</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">plugin</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">plugins</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;</span></div>
project nature是eclipse开发中一个概念，比如加入javanature就表示此项目是一个java project，会绑定一个java builder用来编译java文件，而webnature告诉MyEclipse这是一个MyEclipse web项目，更多MyEclipse projectNature：<br />
webservice-- com.genuitec.eclipse.ws.xfire.wsnature<br />
facelet-- com.genuitec.eclipse.jsf.faceletsnature<br />
jsf--com.genuitec.eclipse.jsf.jsfnature<br />
struts--com.genuitec.eclipse.cross.easystruts.eclipse.easystrutsnature<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">IProject&nbsp;project&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ResourcesPlugin.getWorkspace().getRoot().getProject(</span><span style="color: #000000">"</span><span style="color: #000000">test</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img id="Codehighlighter1_86_217_Open_Image" onclick="this.style.display='none'; Codehighlighter1_86_217_Open_Text.style.display='none'; Codehighlighter1_86_217_Closed_Image.style.display='inline'; Codehighlighter1_86_217_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_86_217_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_86_217_Closed_Text.style.display='none'; Codehighlighter1_86_217_Open_Image.style.display='inline'; Codehighlighter1_86_217_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_86_217_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_86_217_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;natures&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;project.getDescription().getNatureIds();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(String&nbsp;nature&nbsp;:natures)<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(nature);<br />
<img id="Codehighlighter1_243_271_Open_Image" onclick="this.style.display='none'; Codehighlighter1_243_271_Open_Text.style.display='none'; Codehighlighter1_243_271_Closed_Image.style.display='inline'; Codehighlighter1_243_271_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_243_271_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_243_271_Closed_Text.style.display='none'; Codehighlighter1_243_271_Open_Image.style.display='inline'; Codehighlighter1_243_271_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />&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;(CoreException&nbsp;e)&nbsp;</span><span id="Codehighlighter1_243_271_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_243_271_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
可以将项目所有的nature打印出来<br />
<br />
outputDirectory主要是告诉maven eclipse plugin编译输出在什么位置，默认在target/classes下面，web项目不同，应该放在src/main/webapp/WEB-INF/classes 才能够被MyEclipse package到服务器。<br />
<br />
4 在命令行test目录下运行mvn eclipse:eclipse生成Eclipse项目。<br />
<br />
5 在MyEclipse中将test project 导入到workspace，MyEclipse通过projectNature识别到test是一个MyEclipse web project，它会在项目目录下生成一个.mymetadata文件。再关闭MyEclipse，这么做的原因是因为默认MyEclipse的webRoot不可配置。<br />
<br />
6 修改MyEclipse下面的.mymetadata文件，比如我的test项目文件内容为<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: #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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">project-module<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="WEB"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;name</span><span style="color: #0000ff">="test"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;id</span><span style="color: #0000ff">="myeclipse.1207117121765"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;j2ee-spec</span><span style="color: #0000ff">="1.4"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;archive</span><span style="color: #0000ff">="test.war"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">attributes</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">attribute&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="webrootdir"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="/WebRoot"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">attributes</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">project-module</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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">project-module<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="WEB"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;name</span><span style="color: #0000ff">="test"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;id</span><span style="color: #0000ff">="myeclipse.1207117121765"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;context-root</span><span style="color: #0000ff">="/test"</span><span style="color: #ff0000">"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;j2ee-spec</span><span style="color: #0000ff">="1.4"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;archive</span><span style="color: #0000ff">="test.war"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">attributes</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">attribute&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="webrootdir"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="/src/main/webapp"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">attributes</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">project-module</span><span style="color: #0000ff">&gt;</span></div>
<br />
可以看到，增加的一行 context-root="/test" 表示web的上下文为test.<br />
修改的一行为webrootdir的值，将/WebRoot改为maven默认的web项目source目录/src/main/webapp。<br />
<br />
7 重新启动MyEclipse，一切搞定了，调试开发两不误。<br />
<br />
参考资料<br />
<a href="http://www.myeclipseide.com/PNphpBB2-viewtopic-t-17416.html">http://www.myeclipseide.com/PNphpBB2-viewtopic-t-17416.html</a><br />
 <img src ="http://www.blogjava.net/lifesting/aggbug/190367.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lifesting/" target="_blank">Always BaNg.</a> 2008-04-02 14:32 <a href="http://www.blogjava.net/lifesting/archive/2008/04/02/190367.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>删除所有svn 元数据</title><link>http://www.blogjava.net/lifesting/archive/2008/03/31/189762.html</link><dc:creator>Always BaNg.</dc:creator><author>Always BaNg.</author><pubDate>Mon, 31 Mar 2008 05:34:00 GMT</pubDate><guid>http://www.blogjava.net/lifesting/archive/2008/03/31/189762.html</guid><wfw:comment>http://www.blogjava.net/lifesting/comments/189762.html</wfw:comment><comments>http://www.blogjava.net/lifesting/archive/2008/03/31/189762.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lifesting/comments/commentRss/189762.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lifesting/services/trackbacks/189762.html</trackback:ping><description><![CDATA[起因：<br />
每个svn目录都有一个.svn目录包含svn元数据信息。一个项目的svn数据很是庞大，打包的时候需要删除。<br />
<br />
解决方案：<br />
<br />
使用cygwin命令<br />
<br />
find . -type d -name ".svn" | xargs rm -rf
<img src ="http://www.blogjava.net/lifesting/aggbug/189762.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lifesting/" target="_blank">Always BaNg.</a> 2008-03-31 13:34 <a href="http://www.blogjava.net/lifesting/archive/2008/03/31/189762.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cygwin find之后执行多项命令</title><link>http://www.blogjava.net/lifesting/archive/2008/03/31/189761.html</link><dc:creator>Always BaNg.</dc:creator><author>Always BaNg.</author><pubDate>Mon, 31 Mar 2008 05:29:00 GMT</pubDate><guid>http://www.blogjava.net/lifesting/archive/2008/03/31/189761.html</guid><wfw:comment>http://www.blogjava.net/lifesting/comments/189761.html</wfw:comment><comments>http://www.blogjava.net/lifesting/archive/2008/03/31/189761.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lifesting/comments/commentRss/189761.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lifesting/services/trackbacks/189761.html</trackback:ping><description><![CDATA[起因：<br />
遍历所有项目目录，在每个项目下执行mvn eclipse:clean和mvn clean。<br />
<br />
解决方案：<br />
<br />
&nbsp;find . -maxdepth 1 -type d -exec bash -c "cd {} &amp;&amp; mvn eclipse:clean &amp;&amp; mvn clean &amp;&amp; cd .." \;
<img src ="http://www.blogjava.net/lifesting/aggbug/189761.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lifesting/" target="_blank">Always BaNg.</a> 2008-03-31 13:29 <a href="http://www.blogjava.net/lifesting/archive/2008/03/31/189761.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>