<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>lizongbo at 618119.com</title>
	<atom:link href="http://618119.com/feed" rel="self" type="application/rss+xml" />
	<link>http://618119.com</link>
	<description>工作,生活,java,apache,tomcat,Resin,mina,Hessian,Openfire,XMPP,RPC,Ubuntu</description>
	<lastBuildDate>Thu, 04 Mar 2010 15:03:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>使用epub-tools抓取网页生成epub电子书，用epubcheck进行校验</title>
		<link>http://618119.com/archives/2010/03/04/162.html</link>
		<comments>http://618119.com/archives/2010/03/04/162.html#comments</comments>
		<pubDate>Thu, 04 Mar 2010 15:03:03 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[epub]]></category>

		<guid isPermaLink="false">http://618119.com/?p=162</guid>
		<description><![CDATA[最近在看epub格式的电子书，于是对epub格式的电子书有一点了解。
然后下载了epub-tools和epubcheck的代码，写了个小程序，通过分析网上小说主页和章节内容，然后生成epub格式的电子书。
epub-tools 来源：http://code.google.com/p/epub-tools/
epubcheck来源：http://code.google.com/p/epubcheck/
部分代码如下:
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
package com.lizongbo.epub;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import com.adobe.dp.epub.io.DataSource;
/**
*网上图片的数据源
*/
public class ImgFileUrlDataSource extends DataSource {
String url;
public ImgFileUrlDataSource(String url) {
this.url = url;
}
public InputStream getInputStream() throws IOException {
return new URL(url).openStream();
}
}
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
package com.lizongbo.epub;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import com.adobe.dp.epub.io.BufferedDataSource;
import com.adobe.dp.epub.io.OCFContainerWriter;
import com.adobe.dp.epub.io.StringDataSource;
import com.adobe.dp.epub.ncx.TOCEntry;
import com.adobe.dp.epub.opf.BitmapImageResource;
import com.adobe.dp.epub.opf.NCXResource;
import com.adobe.dp.epub.opf.OPSResource;
import com.adobe.dp.epub.opf.Publication;
import com.adobe.dp.epub.opf.Resource;
import com.adobe.dp.epub.ops.Element;
import com.adobe.dp.epub.ops.OPSDocument;
import com.adobe.epubcheck.api.EpubCheck;
import com.adobe.epubcheck.api.Report;
import com.adobe.epubcheck.util.DefaultReportImpl;
import javax.imageio.ImageIO;
/**
* 从网上抓取网页下来，打包成epub
* 书目录url：
* 参考 [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2010/03/04/162.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Eclipse 3.5.2及插件安装</title>
		<link>http://618119.com/archives/2010/03/04/160.html</link>
		<comments>http://618119.com/archives/2010/03/04/160.html#comments</comments>
		<pubDate>Thu, 04 Mar 2010 14:28:19 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[JAVA IDE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Bytecode]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[findbugs]]></category>
		<category><![CDATA[smplayer]]></category>
		<category><![CDATA[Subclipse]]></category>

		<guid isPermaLink="false">http://618119.com/?p=160</guid>
		<description><![CDATA[Eclipse 3.5.2及插件安装

1.首先下载Eclipse 3.5.2.

http://d2u376ub0heus3.cloudfront.net/technology/epp/downloads/release/galileo/SR2/eclipse-jee-galileo-SR2-win32.zip

来源：http://download.eclipse.org/eclipse/downloads/

2.下载相关插件：
a.Subclipse 1.6.8
来源：http://subclipse.tigris.org/
下载地址：http://subclipse.tigris.org/files/documents/906/47393/site-1.6.8.zip
b.Findbugs 1.3.9
来源：http://findbugs.sourceforge.net/
下载地址：http://nchc.dl.sourceforge.net/project/findbugs/findbugs%20eclipse%20plugin/1.3.9/edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821.zip
c.Bytecode Outline plugin for Eclipse 2.2.10
来源： http://asm.ow2.org/eclipse/index.html
下载地址：
http://download.forge.objectweb.org/asm/asm-3.2.jar(Bytecode Outline依赖的jar)

http://download.forge.objectweb.org/asm/de.loskutov.BytecodeOutline_2.2.10.jar

3.把插件集中放到一个地方：
解压site-1.6.8.zip到D:\Java\ecplugin\subclipse
解压edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821.zip到：D:\Java\ecplugin\findbugs\eclipse\plugins
确保D:\Java\ecplugin\findbugs\eclipse下面有features和plugins目录
复制asm-3.2.jar和de.loskutov.BytecodeOutline_2.2.10.jar到D:\Java\ecplugin\bytecode\eclipse\plugins
确保D:\Java\ecplugin\bytecode\eclipse下面有features和plugins目录

4.安装插件

新建目录 D:\Java\ec352\eclipse\links

在D:\Java\ec352\eclipse\links下面，新建subeclipse.link，内容为：path=D:\\Java\\ecplugin\\subeclipse
在D:\Java\ec352\eclipse\links下面，新建findbugs.link，内容为：path=D:\\Java\\ecplugin\\findbugs
在D:\Java\ec352\eclipse\links下面，新建bytecode.link，内容为：path=D:\\Java\\ecplugin\\bytecode
上面这样操作太麻烦，可以用下面的bat双击一次搞定
set ECPLUGIN_LINK=D:\Java\ec352\eclipse\links
mkdir %ECPLUGIN_LINK%
echo path=D:\\Java\\ecplugin\\subeclipse &#62; %ECPLUGIN_LINK%\subeclipse.link
echo path=D:\\Java\\ecplugin\\findbugs &#62; %ECPLUGIN_LINK%\findbugs.link
echo path=D:\\Java\\ecplugin\\bytecode &#62; %ECPLUGIN_LINK%\bytecode.link

5.配置maven
maven已经装好
运行
mvn eclipse:configure-workspace -Declipse.workspace=D:\javadev\workspace

	Tags: Bytecode, eclipse, findbugs, smplayer, Subclipse

	Related posts
	
	配置独立运行的jsp预编译ant脚本 (0)
	在神舟笔记本优雅HP540(d3)上安装Linux(Ubuntu8.10) (0)
	使用Eclipse的几点注意事项 (0)
	Ubuntu 8.10上我的常用软件安装与配置 (0)
	Jprofiler 5.1.2 配置。 (0)


]]></description>
		<wfw:commentRss>http://618119.com/archives/2010/03/04/160.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用Google Email Uploader备份Microsoft Office Outlook邮件到google apps里的邮箱。</title>
		<link>http://618119.com/archives/2010/02/25/158.html</link>
		<comments>http://618119.com/archives/2010/02/25/158.html#comments</comments>
		<pubDate>Thu, 25 Feb 2010 13:46:05 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[杂七杂八]]></category>
		<category><![CDATA[618119]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google apps]]></category>
		<category><![CDATA[mail import]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[QQmail]]></category>

		<guid isPermaLink="false">http://618119.com/?p=158</guid>
		<description><![CDATA[由于Microsoft Office Outlook收到的邮件太多，加上电脑上启动了一堆程序，导致Outlook启动很慢很卡，
使用搜索功能的时候，更是卡得要命。
曾经分别尝试过安装Google Desktop Search和Windows Desktop Search 4.0，但是效果更差，
让本来就卡的电脑更卡了，全文搜索功能等同废品。
迫于无奈，于是另寻其它方法。

目前GMail和QQMail都支持了邮件全文搜索，
如果能够将邮件阅读之后转发到GMail或QQMail里进行备份，然后利用搜索功能查找邮件，那将是很美好的事情。

可惜遇到了第一个难题，就是Exchage Server限制了邮件自动转发，
要求发给其它邮箱的邮件,件标题都必须加上指定的前缀。
outlook的邮件规则支持自动转发，但是不支持配置前缀，
在每次阅读邮件后手工加前缀再转发，没法活了。
于是想到的第一个方法，就是找outlook插件，肯定早就有人就类似需求了，
通过google搜索“outlook addons forward”，确实找到了很多免费的或收费的插件，
下载下来试用后发现，支持自动转发邮件的配置里，还是没法在转发前对邮件标题等信息进行修改，
也就不可能加固定前缀。

此路不通，再找其它方法:
QQMail和Gmail都提供了IMAP方式访问邮箱，
用google搜索得知使用foxmail客户端可以将邮件通过imap方式快速上传到服务器。
（google搜索“foxmail  imap 备份”可以了解详细操作），但再仔细一看，Foxmail不支持Exchange Server方式访问，
而Exchange Server更是没有提供imap和pop3访问方式。也就是说没有用foxmail来备份了。

接下来再想办法：
Gmail支持imap，Microsoft Office Outlook呢，支持复制邮件到本地文件夹，
自动将每个邮件导成一个单独的文件。
如果手工批量复制邮件到指定文件夹，再写个程序，用javamail解析文件，
然后再调用imap接口上传，看上去也还凑合。
于是动手实验，发现Microsoft Office Outlook导出的文件是不明格式的msg文件，
只有Outlook Express 备份出来的文件是方便解析的eml格式，
而Outlook Express 不用imap和pop3是没法连Exchage Server的，这个方法也就没戏。

还曾幻想自己写vba脚本来实现转发功能，但是一番google搜索之后，发现这个太难了，还是放弃这个想法。

万般无奈之下之下，想想总应该有可以导入邮件到gmail的工具吧，这些工具或许有导入outlook邮件的方法，
于是搜索"gmail import email"，找到了
Google Email Uploader(http://mail.google.com/mail/help/email_uploader.html)，
一看到页面上介绍支持Microsoft Outlook,总算看到希望了。

飞快下载安装文件,安装后运行Google Email Uploader，提示Microsoft Office Outlook正在运行，不能操作。
于是关掉Microsoft Office Outlook后再启动Google Email Uploader,
看到说支持Microsoft Outlook，Outlook Express，Thunderbird这三种邮件客户端，
点 next，看到gmail账号的输入框。
输入gmaila账号信息，点sing in，结果提示如下：

---------------------------
Uploading email to gmail.com or googlemail.com is not enabled
---------------------------
Your account is not allowed to [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2010/02/25/158.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>使用Servlet Filter来防止Xss漏洞和SQL注入的方法</title>
		<link>http://618119.com/archives/2010/02/23/156.html</link>
		<comments>http://618119.com/archives/2010/02/23/156.html#comments</comments>
		<pubDate>Tue, 23 Feb 2010 14:32:20 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[servlet]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Xss]]></category>

		<guid isPermaLink="false">http://618119.com/?p=156</guid>
		<description><![CDATA[使用Servlet Filter来防止Xss漏洞和SQL注入的方法
在用java进行web业务开发的时候，对于页面上接收到的参数，除了极少数是步可预知的内容外，大量的参数名和参数值都是不会出现触发Xss漏洞的字符。而通常为了避免Xss漏洞，都是开发人员各自在页面输出和数据入库等地方加上各种各样的encode方法来避免Xss问题。而由于开发人员的水平不一，加上在编写代码的过程中安全意识的差异，可能会粗心漏掉对用户输入内容进行encode处理。针对这种大量参数是不可能出现引起Xss和SQL注入漏洞的业务场景下，因此可以使用一个适用大多数业务场景的通用处理方法，牺牲少量用户体验，来避免Xss漏洞和SQL注入。
那就是利用Servlet的过滤器机制，编写定制的XssFilter，将request请求代理，覆盖getParameter和getHeader方法将参数名和参数值里的指定半角字符，强制替换成全角字符。
使得在业务层的处理时不用担心会有异常输入内容。
相关的代码如下：
XssFilter.java
[code]
package com.lizongbo.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
public class XssFilter implements Filter {
@Override
public void init(FilterConfig config) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
XssHttpServletRequestWrapper xssRequest = new XssHttpServletRequestWrapper(
(HttpServletRequest) request);
chain.doFilter(xssRequest, response);
}
@Override
public void destroy() {
}
}
[/code]
XssHttpServletRequestWrapper.java
[code]
package com.lizongbo.filter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
/**
*
* @author lizongbo
*
*/
public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper {
HttpServletRequest orgRequest = null;
public XssHttpServletRequestWrapper(HttpServletRequest [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2010/02/23/156.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>迁移blog到homezz的新服务器</title>
		<link>http://618119.com/archives/2010/02/21/152.html</link>
		<comments>http://618119.com/archives/2010/02/21/152.html#comments</comments>
		<pubDate>Sun, 21 Feb 2010 14:30:39 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[杂七杂八]]></category>
		<category><![CDATA[homezz]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://618119.com/?p=152</guid>
		<description><![CDATA[迁移blog到homezz的新服务器。
2009-09-07,cosbeta（jiang dong）发来邮件通知说不再继续合租bluehost了，
并免费分配了homezz的主机，让愿意搬家的可以转移到homezz.com （同样是美国的高速虚拟主机）
由于一直忙，收到邮件后，去homezz.com注册了帐号，只要了开通密码，就一直没管了。
原本想象中的blog搬家应该会很麻烦，因此计划在春节期间来弄。
但是春节在家玩《植物大战僵尸》，游戏打通关了，blog搬家的事也就给忘了。
今年是年后上班第一天，下午回家比较早，终于决定不能再拖了，于是开始迁移blog。
1.首先，在google输入“homezz 安装 wordpress”，一下子就找到了在homezz上安装wordpress的文章。
homezz.com/blog/html/一步一步教你安装wordpress-2.html ，可以不能直接打开了，用google快照打开。
当初也是cosbeta帮我装好wordpress我只管使用的，今天参考这篇文章，先去homezz.com登陆，进入到cPanel中，将数据库建立好。
再下载了最新的wordpress2.9.2:
http://cn.wordpress.org/wordpress-2.9.2-zh_CN.tar.gz
在cPanel中上传文件并解压到tmp目录，再移动wordpress目录下的文件到public_html目录下。
2.配置hosts文件。
运行 sudo gedit,然后打开/etc/hosts文件。
加入下面几行。
75.126.115.214 ftp.618119.com
75.126.115.214 618119.com
69.89.31.74    old.618119.com
3.接下来就是访问 http;//618119.com，安装提示初始化了blog.
4.从gmail里翻出WordPress Database Backup插件备份的最新的数据库备份压缩文件，下载后再通过cPanel里phpMy管理将数据库脚本上传导入到数据库中。
5.用原来的老帐号登录blog后台管理，对照旧的blog，下载安装了以下插件:
Autolink URI
Blogroll Page
Google XML Sitemaps
No Revisions
Optimize DB
SEO No Duplicate
Simple Tags
Some Chinese Please!
Tag Suggest Thing
WordPress Database Backup
Wordpress Thread Comment
6.登录dnspod.com，没想到很久没登录之后现在登录后还需要先激活帐号，帐号激活之后，把dnsp解析记录里的ip 69.89.31.74改到了75.126.115.214。
7.尚未完成的事情有：a.要在2010-05-20前续费，由于linux下不方便给支付宝充值，只有过几天在其它电脑上再折腾了。
b.在以前的618119.com上传的一些配合文章内容的静态文件，正在重新下载，后面再重新传到新服务器。
c.以前针对搜索引擎优化对wordprss的代码有修改，这次是全新安装的，修改的代码只能以后再补进去了，为了避免升级wordpress带来代码合并的麻烦，后面抽空把代码弄成插件形式折腾上去吧。
这次迁移还比较顺利，以后还是要继续写点笔记记录自己所学的东西，最近常在google输入618119加关键字找自己以前记录的经验，对好记性不如烂笔头是深有体会了。

	Tags: homezz, Wordpress

	Related posts
	
	给wordpress加上记录Combined格式日志的功能 (0)
	在Apache Tomcat上安装Wordpress 2.3 (0)
	参考Google Syntax Highlighter for WordPress 定制纯Javascript实现的代码语法高亮 (1)
	seo (0)
	blog的myql数据库居然挂了。 (0)


]]></description>
		<wfw:commentRss>http://618119.com/archives/2010/02/21/152.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在64位 Ubuntu 9.04 上编译Firefox 3.5</title>
		<link>http://618119.com/archives/2009/07/13/151.html</link>
		<comments>http://618119.com/archives/2009/07/13/151.html#comments</comments>
		<pubDate>Sun, 12 Jul 2009 16:40:25 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[FireFox]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://618119.com/archives/2009/07/13/151.html</guid>
		<description><![CDATA[在64位 Ubuntu 9.04 上编译Firefox 3.5
在64位的ubuntu9.04上面使用解压版的Firefox3.5，没法使用64位的Flash插件，命令行下运行可以看到类似下面的错误信息：
lizongbo@lizongbo-nb1:/opt/firefox$ ./firefox
Gtk-Message: Failed to load module &#8220;canberra-gtk-module&#8221;: /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so: wrong ELF class: ELFCLASS64
Gtk-Message: Failed to load module &#8220;canberra-gtk-module&#8221;: /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so: wrong ELF class: ELFCLASS64
nsHeaderInfo: registerSelf called!
nsHeaderInfo: registerSelf called!
/usr/lib/gio/modules/libgiogconf.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgiogconf.so
/usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so
/usr/lib/gio/modules/libgioremote-volume-monitor.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgioremote-volume-monitor.so
LoadPlugin: failed [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2009/07/13/151.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>最新隐藏和显示手机腾讯网与手机QQ图标的方法</title>
		<link>http://618119.com/archives/2009/07/01/150.html</link>
		<comments>http://618119.com/archives/2009/07/01/150.html#comments</comments>
		<pubDate>Wed, 01 Jul 2009 03:06:58 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[手机QQ]]></category>
		<category><![CDATA[杂七杂八]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[图标]]></category>
		<category><![CDATA[手机腾讯网]]></category>

		<guid isPermaLink="false">http://618119.com/archives/2009/07/01/150.html</guid>
		<description><![CDATA[参考： 隐藏和显示手机腾讯网与手机QQ图标的方法备忘
http://618119.com/archives/2009/01/08/123.html
最新隐藏和显示手机腾讯网与手机QQ图标的方法
现在在电脑上也可以隐藏手机腾讯网图标了：
web隐藏图标地址：
手机腾讯网图标隐藏的地址是：http://3gqq.qq.com/iconset/icon_login.jsp (只能隐藏，隐藏后不能再显示)
手机QQ图标隐藏的地址是：http://mobile.qq.com/iconset/icon_login.jsp (只能隐藏，隐藏后不能再显示)
隐藏图标后再访问手机腾讯网和使用手机QQ，图标也不会再显示。
在手机上既可以隐藏也可以显示手机腾讯网与手机QQ图标.
wap隐藏图标地址：
隐藏和显示手机腾讯网图标的地址是：http://misc.3g.qq.com/g/s?aid=icon_3gindex (手机访问3g.qq.com，然后点页面最下方的“客服”，然后找到“手机腾讯网图标状态设置”，即可进行操作)
隐藏和显示手机QQ腾讯网图标：http://misc.3g.qq.com/g/s?aid=icon_mqqindex （需要修改手机书签才能访问）

	Tags: QQ, 图标, 手机QQ, 手机腾讯网

	Related posts
	
	无意中发现隐藏qq的IP的方法(未完全确认) (0)
	在神舟笔记本优雅HP540(d3)上安装Linux(Ubuntu8.10) (0)
	为OpenFire和Spark增加QQTransport–Openfire篇(二) (9)
	为 OpenFire和Spark增加QQTransport&#8211;Spark篇 (14)
	为 OpenFire和Spark增加QQTransport&#8211;Openfire篇(一) (3)


]]></description>
		<wfw:commentRss>http://618119.com/archives/2009/07/01/150.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>神舟笔记本升级安装ubuntu 9.04 64位并编译 multige</title>
		<link>http://618119.com/archives/2009/04/19/149.html</link>
		<comments>http://618119.com/archives/2009/04/19/149.html#comments</comments>
		<pubDate>Sun, 19 Apr 2009 15:11:10 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[multiget]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[神舟笔记本]]></category>

		<guid isPermaLink="false">http://618119.com/?p=149</guid>
		<description><![CDATA[我在神舟笔记本上安装了的Ubuntu 8.10，参考：
http://618119.com/archives/2009/03/21/141.html
这次ubuntu linux 9.04 rc出来了，于是下载了ubuntu 9.04的升级文件。
http://ubuntu.media.mit.edu/ubuntu-releases/9.04/ubuntu-9.04-rc-alternate-amd64.iso
注意是alternate而不是desktop版的。
然后主菜单，系统工具，运行Gmount-iso，将ubuntu-9.04-rc-alternate-amd64.iso挂载到 /media/cdrom。
然后命令行下运行/media/cdrom/cdromupgrade,，必须是绝对路径方式运行，
用more cdromupgrade 可以看到cdromupgrade里有下面两行：
# WARNING: make sure to call it with a absolute path!
#          (e.g. /cdrom/cdromugprade)
运行之后按照提示升级重启，系统就是Ubuntu 9.04了.
接着下载multiget的源代码,
http://nchc.dl.sourceforge.net/sourceforge/multiget/multiget-1.2.0.src.tar.bz2
解压到/usr/local/multiget/
编译步骤参考：
http://www.javaeye.com/topic/345285
先运行 sudo apt-get install build-essential autoconf automake1.9 cvs subversion
再运行 sudo apt-get install libwxgtk2.8-dev libglade2-dev
开始编译
lizongbo@lizongbo-nb1:/media/cdrom$ cd /usr/local/multiget/
lizongbo@lizongbo-nb1:/usr/local/multiget$ ./configure
lizongbo@lizongbo-nb1:/usr/local/multiget$ sudo make install
编译时出错，出错信息为：
multiget batch.cpp:127: 错误： ‘atoi’在此作用域中尚未声明
于是在 batch.h 里添加
#include &#60;stdlib.h&#62;
再运行 sudo make install 又遇到
common.cpp:93: 错误： ‘getenv’在此作用域中尚未声明
接着在 common.h 里添加
#include [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2009/04/19/149.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows下编写google app engine jsp出现中文乱码问题的真正原因</title>
		<link>http://618119.com/archives/2009/04/12/148.html</link>
		<comments>http://618119.com/archives/2009/04/12/148.html#comments</comments>
		<pubDate>Sun, 12 Apr 2009 04:54:52 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[jspc]]></category>

		<guid isPermaLink="false">http://618119.com/?p=148</guid>
		<description><![CDATA[Windows下编写google app engine jsp出现中文乱码问题的真正原因，是com.google.appengine.tools.admin.Application里启动javac没加-encoding参数导致.
在Linux下，因为一般都是LANG=zh_CN.UTF-8，因此就不会遇到这个问题了。
Windows下一般是取的默认的file.encoding为GBK，因此根据jsp生成的class文件就是乱码内容了。
验证流程如下：
1.首先重命名E:\Java\appengine-java-sdk-1.2.0\lib\shared\jsp\jasper-compiler-5.0.28.jar为 jasper-compiler-5.0.28.jar.bak。
然后在E:\Java\appengine-java-sdk-1.2.0\bin下运行 appcfg update E:\Java\workspace\testwe\war。
这个时候在命令行下会看到如下的出错信息。
E:\Java\appengine-java-sdk-1.2.0\bin&#62;java -cp &#8220;E:\Java\appengine-java-sdk-1.2.0\bin\\..\lib\appengine-tools-api.jar&#8221; com.google.appengine.tools.admin.AppCfg update e:\Java\workspace\testweb\war
Reading application configuration data&#8230;
2009-04-12 03:05:34.240::INFO:  Logging to STDERR via org.mortbay.log.StdErrLog
Beginning server interaction for lizongbo&#8230;
0% Creating staging directory
5% Scanning for jsp files.
8% Compiling jsp files.
Exception in thread &#8220;main&#8221; java.lang.NoClassDefFoundError: org/apache/jasper/JspC
at com.google.appengine.tools.development.LocalJspC.main(LocalJspC.java:
14)
Caused by: java.lang.ClassNotFoundException: org.apache.jasper.JspC
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
&#8230; 1 more
java.lang.RuntimeException: [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2009/04/12/148.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
