<?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 &#187; Java</title>
	<atom:link href="http://618119.com/category/java/feed" rel="self" type="application/rss+xml" />
	<link>http://618119.com</link>
	<description>工作,生活,Android,前端,Linode,Ubuntu,nginx,java,apache,tomcat,Resin,mina,Hessian,XMPP,RPC</description>
	<lastBuildDate>Tue, 31 Jan 2012 14:25:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>从google的json接口获取地理位置信息的Java代码</title>
		<link>http://618119.com/archives/2011/05/05/209.html</link>
		<comments>http://618119.com/archives/2011/05/05/209.html#comments</comments>
		<pubDate>Thu, 05 May 2011 14:55:07 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[IP]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[cellid]]></category>
		<category><![CDATA[geo]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[lbs]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://618119.com/?p=209</guid>
		<description><![CDATA[从google的json接口获取地理位置信息的Java代码 google 提供了公开的接口，通过，这个接口，根据gps或基站信息或wifi热点信息来获取当前位置的地理信息. gps信息是经纬度，基站信息是基站的cellid等信息，wifi热点信息是wifi的mac地址是热点名字，信号强度等。 因此可以通过java程序获取相应信息，在LBS项目中可以用上： api接口定义描述在： http://code.google.com/p/gears/wiki/GeolocationAPI Java代码如下： [code] package com.lizongbo.geo; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.InetSocketAddress; import java.net.Proxy; import java.net.URL; import com.lizongbo.org.json.JSONArray; import com.lizongbo.org.json.JSONException; import com.lizongbo.org.json.JSONObject; /** * 从google的json接口获取地理位置信息的代码 * * @author lizongbo * */ public class GeoTest { /** * @param args * @throws Exception */ public static void main(String[] args) [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2011/05/05/209.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>获取Android的Java源代码并在Eclipse中关联查看的最新方法</title>
		<link>http://618119.com/archives/2011/01/01/201.html</link>
		<comments>http://618119.com/archives/2011/01/01/201.html#comments</comments>
		<pubDate>Fri, 31 Dec 2010 17:59:27 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[前端开发]]></category>
		<category><![CDATA[ADT]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://618119.com/?p=201</guid>
		<description><![CDATA[在Google搜索“Android Eclipse 源代码”得到的结果并不合适，因为Google的Eclipse Android开发插件已经更新到了ADT 8.0.1.相应的lib关联java源代码的方式也变了。 以下是获取Android的Java源代码并在Eclipse中关联的最新操作方法和步骤： 1.首先下载Android的SDK安装文件：http://dl.google.com/android/android-sdk_r08-windows.zip 然后解压到：E:\Java\android\android-sdk-windows，运行目录中的SDK Manager.exe,下载好Android不同版本的API包。 2.然后下载或在线安装Eclipse插件ADT, 安装包地址为：http://dl.google.com/android/ADT-8.0.1.zip 在线安装地址：https://dl-ssl.google.com/android/eclipse/ 来源：ttp://developer.android.com/sdk/eclipse-adt.html 2.ADT插件安装好之后，下载我已经打包好的Android 2.3（gingerbread）的java源代码压缩包： 下载地址：http://lizongbo.googlecode.com/files/android_gingerbread_javasrc.zip 来源：http://code.google.com/p/lizongbo/downloads/list 下载后复制到E:\Java\android\javasrc。 3.Android的Java源代码压缩包下载好之后，在Eclipse中设置好SDK配置： 操作步骤为：主菜单-&#62;Window&#8211;&#62;Preferences&#8211;&#62;选择Android，SDK Location设置为：E:\Java\android\android-sdk-windows,然后点右下角的Apply来生效。 4.开始进行关联Android的源代码，在Eclipse中新建一个Android工程，选中工程，主菜单 &#8211;&#62;Project&#8211;&#62;Properties&#8211;&#62;选择Android，Project Build Target选中Android 2.3。 然后再点左边的“Java Build Path”，切换到 Libraries 面板，展开 Android2.3 这个lib，点击android.jar的Source attachment，再点Edit.在对话框中点“External File”,选择E:/Java/android/javasrc/android_gingerbread_javasrc.zip,点OK进行确认。这样就把Android的java代码关联好了。 5.在同一个工程中，选中工程，主菜单&#8211;&#62;Project&#8211;&#62;Properties&#8211;&#62;选择 Android，Project Build Target分别选择Android1.5，Android1.6，Android2.01,Android2.1- update1，Android2.2，按上面第四步的操作重复设置关联。 以后在任何Android工程里按住Ctrl用鼠标点击Java类名都可以浏览到对应的java源代码。 Android各个版本对应的源代码为： Android1.5对应android_cupcake_javasrc.zip Android1.6对应android_donut_javasrc.zip Android2.01和Android2.1-update1对应的是android_eclair_javasrc.zip Android2.2对应android_froyo_javasrc.zip Android2.3对应android_gingerbread_javasrc.zip 6.在Eclipse配置好源代码关联之后之后的信息会存储在： E:\lizongbo\workspacenew\.metadata\.plugins\org.eclipse.core.resources\.root\.indexes\properties.index E:\lizongbo\workspacenew\.metadata\.plugins\org.eclipse.jdt.core\variablesAndContainers.dat 同时记录Android的java源代码压缩包制作方法如下： 1.先在远程的Ubuntu Linux服务器(是Linode VPS)上安装以下组件(JDK1.6已经安装好了)： sudo [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2011/01/01/201.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>手机上常见的安装文件名后缀和mime类型</title>
		<link>http://618119.com/archives/2010/12/29/198.html</link>
		<comments>http://618119.com/archives/2010/12/29/198.html#comments</comments>
		<pubDate>Tue, 28 Dec 2010 16:43:48 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jad]]></category>
		<category><![CDATA[jar]]></category>
		<category><![CDATA[MIME]]></category>
		<category><![CDATA[mrp]]></category>
		<category><![CDATA[MTK]]></category>
		<category><![CDATA[Palm]]></category>
		<category><![CDATA[sisx]]></category>
		<category><![CDATA[Webos]]></category>
		<category><![CDATA[手机]]></category>
		<category><![CDATA[手机QQ]]></category>

		<guid isPermaLink="false">http://618119.com/?p=198</guid>
		<description><![CDATA[手机上常见安装文件名后缀和mime类型 kjava是最通用的平台，有些手机只支持kjava,j2me的安装文件名以jar和jad结尾。 Android平台的软件后缀名是apk 例如手机QQ1.0(Android)Beta3Build0077的安装文件是：MobileQQ1.0(Android)Beta3Build0077.apk 如果安装了Java虚拟机的话，也可以安装文件名以jar和jad结尾的软件。 塞班(Symbian)的S60V3和S60v5平台支持的文件名后缀有：sis,sisx,jar,jad,wgz。 例如：手机QQ2010(S60V3)Beta4Build1186的安装文件名为：QQ2010(S60V3)Beta4Build1186.sisx 塞班(Symbian)S40平台只支持kjava因此安装文件名也是以jar和jad结尾。 塞班(Symbian)S60V2平台通常也支持kjava，也支持sis格式的安装文件，因此支持的格式一共有sis,jar,jad。 Symbian3是塞班新出的平台支持的文件名后缀有jar,jad,sisx和sis。 黑莓（BlackBerry）平台支持的文件名后缀有jar，jad，cod。 Plam webOS支持的安装文件名后缀有jar,jad,prc,ipk。 MTK平台的手机分支持java和不支持java两种情况，一般支持的安装文件名后缀有jar，jad，mrp。 斯凯平台是MTK平台上的中间件，支持的文件名后缀为：mrp iPhone操作系统支持的按成程序文件名后缀为：pxl,ipa，deb。 Windows Mobile平台支持的文件名后缀有cab,jar,jad,exe。 例如手机QQ2008(Pocket PC)正式版 Build0093的安装文件名为：PPCQQ2008_Build093.CAB 下面是各种文件名后缀在nginx的mime.types中的配置： text/vnd.sun.j2me.app-descriptor      jad; application/java-archive              jar war ear; application/x-java-archive-diff       jardiff; application/vnd.android.package-archive apk; application/vnd.ms-cab-compressed              cab; application/octet-stream              bin exe dll; application/vnd.symbian.install       sis; x-epoc/x-sisx-app                     sisx; application/iphone                    pxl ipa; application/vnd.palm                  prc pdb; application/vnd.webos.ipk             ipk; application/vnd.rim.cod               cod; application/mrp                       mrp; x-nokia-widget                        [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2010/12/29/198.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Android的webview中定制js的alert,confirm和prompt对话框的方法</title>
		<link>http://618119.com/archives/2010/12/20/199.html</link>
		<comments>http://618119.com/archives/2010/12/20/199.html#comments</comments>
		<pubDate>Mon, 20 Dec 2010 12:33:28 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[前端开发]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[onJsAlert]]></category>
		<category><![CDATA[onJsConfirm]]></category>
		<category><![CDATA[onJsPrompt]]></category>
		<category><![CDATA[WebView]]></category>

		<guid isPermaLink="false">http://618119.com/?p=199</guid>
		<description><![CDATA[1.首先继承android.webkit.WebChromeClient实现MyWebChromeClient。 2.在MyWebChromeClient.java中覆盖onJsAlert,onJsConfirm,onJsPrompt三个方法。 3.在初始化Webview时设置调用webview.setWebChromeClient(new MyWebChromeClient()); 4.在Webview载入的html中使用window.alert,window.confirm,window.prompt方法，系统弹出的将是自定义实现的对应对话框。 MyWebChromeClient.java的代码如下： [code] package com.lizongbo.mwebdev.android; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnCancelListener; import android.content.DialogInterface.OnClickListener; import android.content.DialogInterface.OnKeyListener; import android.graphics.Bitmap; import android.os.Message; import android.util.Log; import android.view.KeyEvent; import android.webkit.JsPromptResult; import android.webkit.JsResult; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.widget.EditText; public class MyWebChromeClient extends WebChromeClient { @Override public void onCloseWindow(WebView window) { super.onCloseWindow(window); } @Override public boolean onCreateWindow(WebView [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2010/12/20/199.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在java代码中对字符进行繁简体转换和全半角转换</title>
		<link>http://618119.com/archives/2010/12/12/186.html</link>
		<comments>http://618119.com/archives/2010/12/12/186.html#comments</comments>
		<pubDate>Sun, 12 Dec 2010 07:58:59 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JDK]]></category>
		<category><![CDATA[Unicode]]></category>
		<category><![CDATA[全角]]></category>
		<category><![CDATA[半角]]></category>
		<category><![CDATA[简体]]></category>
		<category><![CDATA[繁体]]></category>

		<guid isPermaLink="false">http://618119.com/?p=186</guid>
		<description><![CDATA[在java代码中对字符进行繁简体转换和全半角转换 由于java代码本身使用unicode代码表示，因此在java代码内部不需要考虑GB2312,GBK,GB18030,BIG5等字符编码集， 只要定义Unicode字符对应关系，即可实现繁体到简体，简体到繁体，全角到半角，半角到全角的字符转换。 但需要注意的是： 1.繁简体转换时，有些字符不是简单的一一对应关系，因此不能简单的靠字符对应关系进行简繁体转换。 2.从java5.0开始的jdk版本支持Unicode标准为Unicode 4.0.0，在JDK7.0将支持Unicode 6.0.0，而部分简繁体字符已经是Unicode里的增补字符，因此需要支持以代码点方式进行转换。 根据维基百科内容整理后封装的Chars类代码如下： [code] package com.lizongbo.common.primitives; import gnu.trove.map.TIntIntMap; import gnu.trove.map.hash.TIntIntHashMap; /** * 字符处理的工具类，提繁简体，简繁体，全半角，半全角的转换，以及char对象的缓存 * @author lizongbo */ public class Chars { /** 字符对象的缓存 */ private static final Character CharacterCache[] = new Character[Character.MAX_VALUE]; /** * 繁体转简体的映射表 * * @see http://zh.wikipedia.org/zh-cn/Wikipedia:Unihan%E7%B9%81%E7%AE%80%E4%BD%93%E5%AF%B9%E7%85%A7%E8%A1%A8/%E7%B9%81%E7%AE%80%E4%B8%80%E4%B8%80%E5%AF%B9%E5%BA%94%E8%A1%A8 */ private static final TIntIntMap cht2chsMap = new TIntIntHashMap(3096); /** [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2010/12/12/186.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用java.net.URL解析校验检查url非法字符时撞上了bug</title>
		<link>http://618119.com/archives/2010/12/07/188.html</link>
		<comments>http://618119.com/archives/2010/12/07/188.html#comments</comments>
		<pubDate>Mon, 06 Dec 2010 16:04:54 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[net]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[Xss]]></category>

		<guid isPermaLink="false">http://618119.com/?p=188</guid>
		<description><![CDATA[java.net.URL对url格式的检查不严格，如果使用java.net.URL来进行url解析并判断url是否为指定域名时将产生漏洞。 目前一共发现两种情况会解析错误： 1.java.net.URL对url里存在回车符和换行符被认为是合法的： &#60;% String goUrl=&#8221;http://618119.com/\r\nX-Location: http://www.lizongbo.com/&#8221;; //goUrl=java.net.URLEncoder.encode(goUrl, &#8220;UTF-8&#8243;); response.sendRedirect(goUrl); %&#62; 例如上面的代码即使使用java.net.URL进行解析，也能正常解析，而被认为是个合法的url。 加上reponse.setheader的时候没做参数检查，导致写入了非法的head，这样会导致XSS注入攻击。 2.&#8221;http://618119.com#www.lizongbo.com/&#8221; 这样的url被java.net.URL解析得到的host是618119.com#www.lizongbo.com，因此按域名后缀判断的话会被误放过， 在浏览器地址栏里实际请求会变成：http://618119.com/#www.lizongbo.com/ 这样也会产生非法跳转漏洞。 使用java.net.URI进行解析则不会出现这样的问题。 JDK里的关于java.net.URL里引用的文章连接 为： http://www.socs.uts.edu.au/MosaicDocs-old/url-primer.html，但是这个链接已经失效了。 因此封装下面这个工具类来对url进行检查，避免URL 参数里出现非法字符导致的非法跳转的漏洞： [code] package com.lizongbo.net; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; /** * 测试url检查是否完善的类 * @author lizongbo * */ public class UrlTest { /** * @param args * @throws MalformedURLException [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2010/12/07/188.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用CRLFFilter过滤HTTP应答头信息名称和值的非法字符防止CRLF注入攻击</title>
		<link>http://618119.com/archives/2010/11/29/189.html</link>
		<comments>http://618119.com/archives/2010/11/29/189.html#comments</comments>
		<pubDate>Mon, 29 Nov 2010 02:02:10 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[CRLF]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[header]]></category>
		<category><![CDATA[Xss]]></category>

		<guid isPermaLink="false">http://618119.com/?p=189</guid>
		<description><![CDATA[使用CRLFFilter过滤http应答中头信息名称和值的非法字符，防止CRLF注入攻击 经过测试Resin的response.addHeader方法也没做header名字和值的检查，因此如果webapp代码写法不当的话，将导致CRLF注入攻击， 例如一个页面从url参数中获取地址燃尽进行跳转，如果url地址存在“%0d%0a”编码表示的CRLF而未被检测过滤(java.net.URL解析不会出错，必须用java.net.URI才行)，将产生安漏洞。 通过下面的代码可以重现这个Xss漏洞攻击。 jsp代码： &#60;% response.addHeader(&#8220;X-Locationaaa: http://mqq.im/\r\nX-tesh&#8221;,&#8221;aaa&#8221;); response.addHeader(&#8220;X-Locationbbb: 汉字/\r\nX-teshbbb&#8221;,&#8221;aaa&#8221;); //下面的goUrl可以从URL的参数中获取，如果url地址存在“%0d%0a”编码表示的CRLF而未被检测过滤(java.net.URL解析不会出错，必须用java.net.URI才行)，将产生漏洞。 String goUrl=&#8221;http://lizongbo.com/\r\nX-Location: http://618119.com/&#8221;; //goUrl=java.net.URLEncoder.encode(goUrl, &#8220;UTF-8&#8243;); response.sendError(403,goUrl); %&#62; 在Firefox中访问jsp，使用Live HTTP headers 可以看到生成的实际head如下： HTTP/1.1 403 http://lizongbo.com/ X-Location: http://618119.com/ Server: Resin/4.0.10 X-Locationaaa: http://mqq.im/ X-tesh: aaa X-Locationbbb: 汉字 X-teshbbb: aaa Content-Type: text/html; charset=utf-8 Content-Length: 216 Date: Tue, 09 Nov 2010 02:37:48 GMT 因此封装过滤器代码如下： [code] package com.lizongbo.web.filter; import java.io.IOException; [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2010/11/29/189.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>根据sitemap.org的schema使用JAXB生成sitemap.xml的读写方法</title>
		<link>http://618119.com/archives/2010/11/21/187.html</link>
		<comments>http://618119.com/archives/2010/11/21/187.html#comments</comments>
		<pubDate>Sun, 21 Nov 2010 05:37:17 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[JAXB]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[sitemap]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[百度]]></category>

		<guid isPermaLink="false">http://618119.com/?p=187</guid>
		<description><![CDATA[根据sitemap.org的schema使用JAXB生成sitemap.xml的读写方法 sitemap协议的中文说明在： http://sitemaps.org/zh_CN/protocol.php 对应的schema在： Sitemap 的 XML 格式定义: http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd Sitemap 索引文件格式定义：http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd 向google提交sitemap.xml是在： https://www.google.com/webmasters/tools/home?hl=zh_CN 向百度提交sitemap.xml是在：http://sitemap.baidu.com/ xsd文件生成java代码的操作步骤如下： 1.下载xsd文件保存到D:\dev\xsds。 2.在JDK的bin目录下运行xjc命令生成java文件： D:\dev\Java\jdk1.6.0_22\bin&#62;xjc -d D:\dev\javasrc -p com.lizongbo.web.sitemaps.sitemap D:\dev\xsds\sitemap.xsd parsing a schema&#8230; compiling a schema&#8230; com\lizongbo\web\sitemaps\sitemap\ObjectFactory.java com\lizongbo\web\sitemaps\sitemap\TChangeFreq.java com\lizongbo\web\sitemaps\sitemap\TUrl.java com\lizongbo\web\sitemaps\sitemap\Urlset.java com\lizongbo\web\sitemaps\sitemap\package-info.java D:\dev\Java\jdk1.6.0_22\bin&#62;xjc -d D:\dev\javasrc -p com.lizongbo.web.sitemaps.siteindex D:\dev\xsds\siteindex.xsd parsing a schema&#8230; compiling a schema&#8230; com\lizongbo\web\sitemaps\siteindex\ObjectFactory.java com\lizongbo\web\sitemaps\siteindex\Sitemapindex.java com\lizongbo\web\sitemaps\siteindex\TSitemap.java com\lizongbo\web\sitemaps\siteindex\package-info.java 3.将java文件都复制到java工程的src目录的对应包中。 4.将xsd文件复制到java工程的com.lizongbo.web.sitemaps包对应的文件夹中。 5.封装工具类SitemapUtil.java，代码如下： [code] package [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2010/11/21/187.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Ubuntu 10.04上安装JDK1.6.0_21和编译配置Resin4.0.12</title>
		<link>http://618119.com/archives/2010/10/24/175.html</link>
		<comments>http://618119.com/archives/2010/10/24/175.html#comments</comments>
		<pubDate>Sat, 23 Oct 2010 16:37:48 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Resin]]></category>
		<category><![CDATA[RMI]]></category>
		<category><![CDATA[JDK]]></category>
		<category><![CDATA[JMX]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://618119.com/?p=175</guid>
		<description><![CDATA[在Ubuntu 10.04上安装JDK1.6.0_21和编译配置Resin4.0.12 1.首先是安装最新版的jdk,先下载JDK 1.6.0_21（来源：http://www.oracle.com/technetwork/java/javase/downloads/index.html）: root@618119.com:/usr/local/app$ wget &#8220;http://cds.sun.com/***/jdk-6u21-linux-x64.bin&#8221; 这个url里带有会话信息，现在已经无效，JDK的官方下载不提供简洁的下载地址，需要每次到页面区获取下载地址) 2.再将下载到的文件改名： root@618119.com:/usr/local/app$ mv jdk-6u21-linux-x64.bin\?BundledLineItemUUID\=SSeJ_hCwV9QAAAEroI4AHoII\&#38;OrderID\=gVSJ_hCwmL8AAAErko4AHoII\&#38;ProductID\=xKiJ_hCySHIAAAEpT7wzBGsB\&#38;FileName\=%2Fjdk-6u21-linux-x64.bin   jdk-6u21-linux-x64.bin 3.给安装程序加上可执行权限： root@618119.com:/usr/local/app$ chmod +x ./jdk-6u21-linux-x64.bin 4.开始安装JDK： root@618119.com:/usr/local/app$ ./jdk-6u21-linux-x64.bin (JDK安装好之后，可以通过符号连接建立jdk目录，这样在一行升级jdk版本的时候通过修改符号连接自动切换到新版本jdk： root@618119.com:/usr/local/app# ln -s ./jdk1.6.0_21/ ./jdk ) 5.然后添加环境变量到系统： 编辑 /etc/enviroment增加下面一行： JAVA_HOME=&#8221;/usr/local/app/jdk1.6.0_21&#8243; 添加后的/etc/environment内容如下： root@618119.com:/etc# more /etc/environment PATH=&#8221;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&#8221; JAVA_HOME=&#8221;/usr/local/app/jdk1.6.0_21&#8243; 6.再开始下载resin4.0.12(来源：http://www.caucho.com/download/) root@618119.com:/usr/local/app# wget http://www.caucho.com/download/resin-4.0.12.tar.gz 7.解压安装文件： root@618119.com:/usr/local/app# tar -zxvf resin* 7.进入resin目录开始编译安装，安装目录设置为：/usr/local/app/resin root@618119.com:/usr/local/app# cd resin* root@618119.com:/usr/local/app/resin-4.0.12# ./configure &#8211;prefix=/usr/local/app/resin root@618119.com:/usr/local/app/resin-4.0.12# [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2010/10/24/175.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

