﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-猪</title><link>http://www.blogjava.net/liuspring/</link><description>java .net</description><language>zh-cn</language><lastBuildDate>Sun, 09 Aug 2026 11:09:39 GMT</lastBuildDate><pubDate>Sun, 09 Aug 2026 11:09:39 GMT</pubDate><ttl>60</ttl><item><title>maven的helloword</title><link>http://www.blogjava.net/liuspring/archive/2011/04/18/348496.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Mon, 18 Apr 2011 08:09:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2011/04/18/348496.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/348496.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2011/04/18/348496.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/348496.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/348496.html</trackback:ping><description><![CDATA[<p>最近在学习如何使用maven，做了一个demo(基于S2S整合)，总结一下与大家分享，期待与大家讨论以期快速进步。 <p>一、maven介绍 <p>1、maven是什么 <p><a href="http://maven.apache.org/">http://maven.apache.org/</a><br>官方解释：Maven是一个项目管理工具，它包含了一个项目对象模型 (Project Object Model)，一组标准集合，一个项目生命周期(Project Lifecycle)，一个依赖管理系统(Dependency Management System)，和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 <p>2、使用maven有什么好处，解决什么问题 <p>jar统一管理了： <p>如果建立了一个本地的jar仓库，那么所有人都是从仓库里面下载jar，拷贝项目时只需要copy几K的源码即可！其次，依然是仓库，使得每个人的jar版本都是一致的，不会出现因为版本不同，引起的莫名其妙的错误。<br>项目的自动化： <p>只需要mvn package命令，在eclipse里面，看run里面，只需要选择就行了！它会自动的从编译，测试开始，一直到打包，自动的运行，保证你的包没有问题。 <p>我们在做多个不同的Java项目时，每个项目所用到的库文件基本都是大同小异的，通常的做法是每个项目下面都会复制一份这些库文件，甚至会把这些库文件都提交到vss上去，这样带来的问题不仅是增大了项目占用的硬盘空间，而且也使包管理很混乱。 <p>我们可以这样查看jar包的依赖关系，是不是很爽？！<br><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_4.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_1.png" width="903" height="431"></a> <p>还可以单元测试覆盖率报表： <p><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_6.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_2.png" width="601" height="169"></a> <p>2、helloword <p>1、下载Maven 附件中的maven3.jar 解压到任意目录 <p>2、安装eclipse插件m2eclipse <p>方式一：在线安装 更新地址是：<a href="http://m2eclipse.sonatype.org/sites/m2e">http://m2eclipse.sonatype.org/sites/m2e</a><br>方式二：本地安装 help--&gt;install new softeware--&gt;add--&gt;name填写maven--&gt;archive..--&gt;jar:file:/../m2e.zip!/--&gt;ok<br>安装完成重启eclipse，在Window--&gt;Preferences--&gt;Maven下配置 <p><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_8.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_3.png" width="633" height="622"></a> <p>禁用eclipse启动时更新maven index 主要是每次eclipse启动时都更新很烦人 <p><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_10.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_4.png" width="694" height="569"></a> <p>添加自己的maven <p>3、新建maven项目 <p>按照下图步骤 <p><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_12.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_5.png" width="649" height="583"></a> <ul> <li>groupId定义了项目属于哪个组，这个组往往和项目所在的组织或公司存在关联。譬如在googlecode上建立了一个名为myapp的项目，那么groupId就应该是com.googlecode.myapp. <li>artifactId定义了当前Maven项目在组中唯一的ID，groupId为com.googlecode.myapp的例子中，你可能会为不同的子项目（模块）分配artifactId，如myapputil、myappdomain、myappweb等。 <li>version指定了项目当前的版本——1.0SNAPSHOT。SNAPSHOT意为快照，说明该项目还处于开发中,是不稳定的版本。随着项目的发展，version会不断更新，如升级为1.0、1.1SNAPSHOT、1.1、2.0等。 <li>name元素声明了一个对于用户更为友好的项目名称</li></ul> <p>点击Finish完成 <p>4、maven项目结构 <p>下图为基于maven项目结构，这里跟我们以前的项目结构很不一样，以前的项目结构约定俗成的只有两块 一个src 一个webRoot，当然这些都可以随意配置，比如WebRoot有的叫WebContent <p><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_14.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_6.png" width="287" height="264"></a><br>这里maven倡导<strong>约定优于配置</strong>，maven的约定就是以下目录结构<br>src/main/java 下存放java类<br>src/main/webapp 下存放页面文件(需要手动创建)<br>src/main/resources 下存放资源文件<br>src/test/java 下存放单元测试代码<br>src/test/resources 下存放测试资源文件 <p>5、添加jar包 <p>只需维护pom.xml<br>比如添加struts2-core<br>&lt;dependency&gt;<br>&lt;groupId&gt;org.apache.struts&lt;/groupId&gt;<br>&lt;artifactId&gt;struts2-core&lt;/artifactId&gt;<br>&lt;version&gt;2.0.11.2&lt;/version&gt;<br>&lt;/dependency&gt; <p>我在172.20.66.230上部署了一个maven仓库，访问地址<a href="http://172.20.66.230:8081/nexus/">http://172.20.66.230:8081/nexus/</a> <p>maven会根据pom.xml中的配置访问230的仓库下载对应的jar source 以及doc，下载到哪？这要看maven3/conf/settings.xml 55: <p>&lt;localRepository&gt;F:/Maven3/repository&lt;/localRepository&gt; <p>6、编写代码 <p>附件中有一个struts2+spring 的demo，解压然后import eclipse <p>在项目名上右键 run as --&gt;Run Configurations <p><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_16.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_7.png" width="736" height="617"></a> <p>按图配置，点击Run即可。浏览器中访问<a href="http://localhost:8080/MavenSSH/">http://localhost:8080/MavenSSH/</a> <p>Maven运行的生命周期 <ul> <li> <p>复制src/main/resources资源文件到输出目录</p> <li> <p>编译src/main/java下的源代码</p> <li> <p>复制src/test/resources下的测试用资源文件到测试输出目录</p> <li> <p>编译src/test/java下的测试用例</p> <li> <p>运行测试用例</p> <li> <p>打包生成</p></li></ul> <p>=========================== <ul> <li> <p>以上是一个简单的例子，只是用它获取依赖的jar包 。maven还有很多诸如项目管理方面的功能，比如文档编制、发布管理、配置管理...</p> <li> <p>第一个次运行项目会比较慢，因为要下载jar包。</p> <li> <p>MavenSSH.rar是一个struts2与spring集成的例子，页面用到了sitemesh div+css 也值得学习</p> <li> <p>项目debug是运行在jetty（类似于tomcat的容器）中。</p></li></ul><img src ="http://www.blogjava.net/liuspring/aggbug/348496.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2011-04-18 16:09 <a href="http://www.blogjava.net/liuspring/archive/2011/04/18/348496.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>部署到GAE时中途退出后引起的问题</title><link>http://www.blogjava.net/liuspring/archive/2010/11/15/338061.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Mon, 15 Nov 2010 01:55:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/11/15/338061.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/338061.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/11/15/338061.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/338061.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/338061.html</trackback:ping><description><![CDATA[<p>如果部署GAE时正在upload files时退出，下次部署时会报错</p> <p>Another transaction by user is already in progress for this app and major version. That user can undo the transaction with appcfg.py's "rollback" command</p> <p>&nbsp;</p> <p>找到eclipse中的GAE SDK目录</p> <p>如：D:\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.8_1.3.8.v201010161055\appengine-java-sdk-1.3.8\bin</p> <p>&nbsp;</p> <p>执行命令 </p> <p>appcfg.cmd rollback 后面跟gae项目war所在目录 </p> <p>如 appcfg.cmd rollback D:/spring/eclipse_workspace/taobaoke/war</p> <p>&nbsp;</p> <p>执行：</p> <p>********************************************************<br>Warning: Future versions of the Dev App Server will require Java 1.6 or later. P<br>lease upgrade your JRE.<br>********************************************************<br>Reading application configuration data...<br>2010-11-15 9:34:23 com.google.apphosting.utils.config.AppEngineWebXmlReader read<br>AppEngineWebXml<br>信息: Successfully processed D:/spring/eclipse_workspace/taobaoke/war\WEB-INF/ap<br>pengine-web.xml<br>2010-11-15 9:34:23 com.google.apphosting.utils.config.AbstractConfigXmlReader re<br>adConfigXml<br>信息: Successfully processed D:/spring/eclipse_workspace/taobaoke/war\WEB-INF/we<br>b.xml<br>2010-11-15 9:34:23 com.google.apphosting.utils.config.AbstractConfigXmlReader re<br>adConfigXml<br>信息: Successfully processed D:/spring/eclipse_workspace/taobaoke/war\WEB-INF/cr<br>on.xml<br>Beginning server interaction for taokeapp...<br>0% Rolling back the update.<br>Success.<br>Cleaning up temporary files...</p><img src ="http://www.blogjava.net/liuspring/aggbug/338061.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-11-15 09:55 <a href="http://www.blogjava.net/liuspring/archive/2010/11/15/338061.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在GAE上简单实现了一个淘宝客</title><link>http://www.blogjava.net/liuspring/archive/2010/10/21/335768.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Thu, 21 Oct 2010 03:33:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/10/21/335768.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/335768.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/10/21/335768.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/335768.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/335768.html</trackback:ping><description><![CDATA[<p>在网上无意搜到一个<a href="http://www.bangnitao.net/" target="_blank">用Ext实现的淘宝客</a>，恩 ，咱用GWT做一个车轮</p> <p>下了淘宝的 <a href="http://dl.open.taobao.com/sdk/%E6%96%B0%E7%89%88sdk.zip" target="_blank">SDK for java</a>就开干 参考<a href="http://my.open.taobao.com/apidoc/index.htm" target="_blank">API文档</a>按部就班</p> <p>在淘宝的沙箱里测试，很顺利，乘胜前进，到正式环境下测试</p> <p>问题来了 </p> <p>invalid signature</p> <p>网上搜了一通，有说时间戳不对，果不其然，GAE使用的是标准时间，整整差了8小时，遂在获得的当前时间上加了8小时，OK</p> <p>invalid signature 可能的另一个原因是APP_KEY 或 APP_SERCET不正确，仔细检查</p> <p>&nbsp;</p> <p>调用 taobao.item.get</p> <p>&nbsp;</p> <p>是</p> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source"><span style="font-style: italic; color: rgb(0,136,0)">1 </span><span style="color: rgb(0,0,0)">TaobaoClient</span> <span style="color: rgb(0,0,0)">client</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,128); font-weight: bold">new</span> <span style="color: rgb(0,0,0)">DefaultTaobaoClient</span>(<span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">SANDBOX_URL</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">APP_KEY</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">APP_SERCET</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">2 </span><span style="color: rgb(0,0,0)">ItemcatsGetRequest</span> <span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,128); font-weight: bold">new</span> <span style="color: rgb(0,0,0)">ItemcatsGetRequest</span>();<br><span style="font-style: italic; color: rgb(0,136,0)">3 </span><span style="color: rgb(0,0,0)">java</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">util</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">Calendar</span> <span style="color: rgb(0,0,0)">c</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)">java</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">util</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">Calendar</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">getInstance</span>(<span style="color: rgb(0,0,0)">TimeZone</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">getTimeZone</span>(<span style="color: rgb(0,0,255)">"GMT+8"</span>));<br><span style="font-style: italic; color: rgb(0,136,0)">4 </span><span style="color: rgb(0,0,0)">c</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">add</span>(<span style="color: rgb(0,0,0)">Calendar</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">HOUR</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,255)">8</span>);<br><span style="color: rgb(248,16,176)">5 </span><span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">setTimestamp</span>(<span style="color: rgb(0,0,0)">c</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">getTime</span><span style="color: rgb(0,0,0)">().</span><span style="color: rgb(255,0,0)">getTime</span>()) ;<br><span style="font-style: italic; color: rgb(0,136,0)">6 </span><span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">setParentCid</span>(<span style="color: rgb(0,0,128); font-weight: bold">new</span> <span style="color: rgb(0,0,0)">Long</span>(<span style="color: rgb(0,0,255)">0</span>));<br><span style="font-style: italic; color: rgb(0,136,0)">7 </span><span style="color: rgb(0,0,0)">ItemcatsGetResponse</span> <span style="color: rgb(0,0,0)">response</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)">client</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">execute</span>(<span style="color: rgb(0,0,0)">req</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">8 </span><span style="color: rgb(0,0,128); font-weight: bold">return</span> <span style="color: rgb(0,0,0)">response</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">getItemCats</span>();<br></div> <p>&nbsp;</p> <h3>调用 taobao.taobaoke.items.get </h3> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source"><span style="font-style: italic; color: rgb(0,136,0)"></span>&nbsp;</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source"><span style="font-style: italic; color: rgb(0,136,0)">1</span> <span style="color: rgb(0,0,0)">TaobaoClient</span> <span style="color: rgb(0,0,0)">client</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,128); font-weight: bold">new</span> <span style="color: rgb(0,0,0)">DefaultTaobaoClient</span>(<span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">SANDBOX_URL</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">APP_KEY</span><span style="color: rgb(0,0,0)">,</span><span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">APP_SERCET</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">2</span> <span style="color: rgb(0,0,0)">TaobaokeItemsGetRequest</span> <span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,128); font-weight: bold">new</span> <span style="color: rgb(0,0,0)">TaobaokeItemsGetRequest</span>();<br><span style="font-style: italic; color: rgb(0,136,0)">3</span> <span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">setFields</span>(<span style="color: rgb(0,0,255)">"num_iid,title,nick,pic_url,price,click_url,commission,commission_rate,commission_num,commission_volume,shop_click_url,seller_credit_score,item_location,volume,taobaoke_cat_click_url,keyword_click_url"</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">4</span> <span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">setCid</span>(<span style="color: rgb(0,0,0)">Long</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">parseLong</span>(<span style="color: rgb(0,0,0)">cid</span>));<br><span style="color: rgb(248,16,176)">5</span> <span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">setNick</span>(<span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">NICK</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">6</span> <span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">setSort</span>(<span style="color: rgb(0,0,255)">"commissionRate_desc"</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">7</span> <span style="color: rgb(0,0,0)">TaobaokeItemsGetResponse</span> <span style="color: rgb(0,0,0)">response</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)">client</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">execute</span>(<span style="color: rgb(0,0,0)">req</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">8</span> <span style="color: rgb(0,0,128); font-weight: bold">return</span> <span style="color: rgb(0,0,0)">response</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">getTaobaokeItems</span>();<br></div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">&nbsp;</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">想用<a href="http://code.google.com/intl/zh-CN/appengine/docs/java/memcache/usingjcache.html" target="_blank">GAE JCache API</a> 加入缓存以减轻压力，但屡试不行，从缓存中取 的时候报错</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">没找到原因</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">&nbsp;</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">改用自己写的缓存，然后用App Engine Cron 服务管理缓存</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">&nbsp;</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">corn.xml</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">&nbsp;</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source"><span style="font-style: italic; color: rgb(0,136,0)">1</span> <span style="color: rgb(0,128,128)">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span><br><span style="font-style: italic; color: rgb(0,136,0)">2</span> <span style="color: rgb(0,0,128); font-weight: bold">&lt;cronentries&gt;</span><br><span style="font-style: italic; color: rgb(0,136,0)">3</span>&nbsp;&nbsp; <span style="color: rgb(0,0,128); font-weight: bold">&lt;cron&gt;</span><br><span style="font-style: italic; color: rgb(0,136,0)">4</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,128); font-weight: bold">&lt;url&gt;</span><span style="color: rgb(0,0,0)">/cron/recache</span><span style="color: rgb(0,0,128); font-weight: bold">&lt;/url&gt;</span><br><span style="color: rgb(248,16,176)">5</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,128); font-weight: bold">&lt;description&gt;</span><span style="color: rgb(0,0,0)">Repopulate the cache every 1 hours</span><span style="color: rgb(0,0,128); font-weight: bold">&lt;/description&gt;</span><br><span style="font-style: italic; color: rgb(0,136,0)">6</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,128); font-weight: bold">&lt;schedule&gt;</span><span style="color: rgb(0,0,0)">every 1 hours</span><span style="color: rgb(0,0,128); font-weight: bold">&lt;/schedule&gt;</span><br><span style="font-style: italic; color: rgb(0,136,0)">7</span>&nbsp;&nbsp; <span style="color: rgb(0,0,128); font-weight: bold">&lt;/cron&gt;</span><br><span style="font-style: italic; color: rgb(0,136,0)">8</span> <span style="color: rgb(0,0,128); font-weight: bold">&lt;/cronentries&gt;</span><br></div><img src ="http://www.blogjava.net/liuspring/aggbug/335768.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-10-21 11:33 <a href="http://www.blogjava.net/liuspring/archive/2010/10/21/335768.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于DSM(DesignStructureMatrix)的设计过程模型优化算法</title><link>http://www.blogjava.net/liuspring/archive/2010/06/13/323496.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Sun, 13 Jun 2010 01:54:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/06/13/323496.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/323496.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/06/13/323496.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/323496.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/323496.html</trackback:ping><description><![CDATA[<table style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; table-layout: fixed; width: 958px; font-family: Arial; font-size: 12px; line-height: 18px; ">
    <tbody style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
        <tr style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
            <td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; ">
            <div id="blog_text" class="cnt" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 20px; color: #000000; overflow-x: hidden; overflow-y: hidden; position: static; "><a target="_blank" href="http://dsmlabs.appspot.com/" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">基于DSM(DesignStructureMatrix)的设计过程模型优化算法</a></div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/liuspring/aggbug/323496.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-06-13 09:54 <a href="http://www.blogjava.net/liuspring/archive/2010/06/13/323496.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery 验证所有text,textare非法字符</title><link>http://www.blogjava.net/liuspring/archive/2010/06/13/323495.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Sun, 13 Jun 2010 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/06/13/323495.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/323495.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/06/13/323495.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/323495.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/323495.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 01&nbsp;var&nbsp;$j&nbsp;=&nbsp;jQuery.noConflict();02&nbsp;//使用此方法验证所有text textarea 是否含有非法字符03&nbsp;$j(document).ready(function(){04&nbsp;&nbsp;&nbsp;&nbsp;$j("input[type='text']").each(functio...&nbsp;&nbsp;<a href='http://www.blogjava.net/liuspring/archive/2010/06/13/323495.html'>阅读全文</a><img src ="http://www.blogjava.net/liuspring/aggbug/323495.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-06-13 09:53 <a href="http://www.blogjava.net/liuspring/archive/2010/06/13/323495.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于我</title><link>http://www.blogjava.net/liuspring/archive/2010/05/19/321377.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Wed, 19 May 2010 06:58:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/05/19/321377.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/321377.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/05/19/321377.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/321377.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/321377.html</trackback:ping><description><![CDATA[<div>
<div>一个喜欢coding的程序员，工作在北京，从事java web 开发，喜欢JavaScript，平时关注技术新闻，试用各种新框架、新语言，学海无涯，有时也迷茫</div>
<div>平时没事翻翻编程思想、浏览各位同行的blog，将各种实际中的技巧、方法拿来养眼，并用到自己的项目中感受快乐</div>
<div>头儿的评价：不管遇到什么难题，都会钻窟窿盗洞把它解决掉</div>
</div>
<span style="font-size: 36pt; ">
<div><span style="font-size: 36pt; "><br />
</span></div>
求职<a href="http://liuspring315.appspot.com/blogView.do?logId=11001" title="工作简历" target="_blank">简历</a></span>
<img src ="http://www.blogjava.net/liuspring/aggbug/321377.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-05-19 14:58 <a href="http://www.blogjava.net/liuspring/archive/2010/05/19/321377.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GWT编译巨慢</title><link>http://www.blogjava.net/liuspring/archive/2010/05/19/321337.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Wed, 19 May 2010 02:19:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/05/19/321337.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/321337.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/05/19/321337.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/321337.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/321337.html</trackback:ping><description><![CDATA[<span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling module com.capinfo.cdss.gwt.olap.Olap</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling 12 permutations</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 0...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 1...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 2...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 3...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 4...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 5...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 6...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 7...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 8...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 9...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 10...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 11...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compile of permutations succeeded</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Linking into D:\spring\workspace\fusionchart\war\olap.</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Link succeeded</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compilation succeeded --</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">&nbsp;</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><font color="#ff0000" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">291.925s</font></span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">在#.gwt.xml中添加支持Firefox</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">&lt;!-- User Agent --&gt;</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">&lt;set-property name="user.agent" value="gecko1_8" /&gt;</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">&nbsp;</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">编译的确变得很快，但IE中果真不好使</span>
<img src ="http://www.blogjava.net/liuspring/aggbug/321337.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-05-19 10:19 <a href="http://www.blogjava.net/liuspring/archive/2010/05/19/321337.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GWT.setUncaughtExceptionHandler</title><link>http://www.blogjava.net/liuspring/archive/2010/05/19/321335.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Wed, 19 May 2010 02:18:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/05/19/321335.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/321335.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/05/19/321335.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/321335.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/321335.html</trackback:ping><description><![CDATA[<div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #fdfdfd; color: black; font-family: Consolas, 'Courier New', 'BitStream Vera Sans Mono', 'Lucida Console'; font-size: 14px; "><u><span  style="font-family: Arial; font-size: 12px; line-height: 18px; ">
<table style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; table-layout: fixed; width: 945px; ">
    <tbody style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
        <tr style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
            <td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; ">
            <div id="blog_text" class="cnt" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 20px; color: #000000; overflow-x: hidden; overflow-y: hidden; position: static; ">GWT设置UncaughtExceptionHandler 以捕获为捕捉的异常，这gwt在host mode编译后的JavaScript如果出现错误，No errors in Hosted Mode and Compiled localy, but deployed to tomcat yields in errors<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            这是恼人，加上UncaughtExceptionHandler起码有一丝线索</div>
            </td>
        </tr>
    </tbody>
</table>
</span></u></div>
<div class="source" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: '[object HTMLOptionElement]', Consolas, 'Lucida Console', 'Courier New'; color: #000000; font-size: 14px; "><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">GWT</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">setUncaughtExceptionHandler</span>(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">new</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">GWT</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">UncaughtExceptionHandler</span>()&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">{</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">public</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">void</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">onUncaughtException</span>(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">Throwable</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">throwable</span>)&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">{</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">String</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">text</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">"Uncaught exception: "</span>;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">while</span>&nbsp;(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">throwable</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">!=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">null</span>)&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">{</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">StackTraceElement</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">[]</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">stackTraceElements</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">throwable</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">getStackTrace</span>();<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">text</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">+=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">throwable</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">toString</span>()&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">+</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">"\n"</span>;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">for</span>&nbsp;(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">int</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">i</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">0</span>;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">i</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">&lt;</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0p