﻿<?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/midea0978/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 16:47:52 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 16:47:52 GMT</pubDate><ttl>60</ttl><item><title>birt字体不能正确显示的问题</title><link>http://www.blogjava.net/midea0978/archive/2013/10/21/405460.html</link><dc:creator>在路上...</dc:creator><author>在路上...</author><pubDate>Mon, 21 Oct 2013 04:53:00 GMT</pubDate><guid>http://www.blogjava.net/midea0978/archive/2013/10/21/405460.html</guid><wfw:comment>http://www.blogjava.net/midea0978/comments/405460.html</wfw:comment><comments>http://www.blogjava.net/midea0978/archive/2013/10/21/405460.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/midea0978/comments/commentRss/405460.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/midea0978/services/trackbacks/405460.html</trackback:ping><description><![CDATA[
 
Linux birt3.7环境中，部分导出pdf的汉字不能正确显示，解决办法：<br /><br />打开org.eclipse.birt.report.engine.fonts_2.3.2.r232_20090202.jar文件，修改fontsConfig_pdf.xml文件中下面行<br />&lt;font font<span style="color: rgb(255, 0, 0);">-family</span><span style="color: rgb(255, 0, 0);">="</span><strong style="color: rgb(255, 0, 0);">STSong-</strong><strong style="color: rgb(255, 0, 0);">Light</strong>" catalog="Chinese" /&gt;<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">composite-font&nbsp;</span><span style="color: rgb(255, 0, 0);">name</span><span style="color: rgb(0, 0, 255);">="all-fonts"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">font&nbsp;</span><span style="color: rgb(255, 0, 0);">font-family</span><span style="color: rgb(0, 0, 255);">="Times-Roman"</span><span style="color: rgb(255, 0, 0);">&nbsp;catalog</span><span style="color: rgb(0, 0, 255);">="Western"</span><span style="color: rgb(255, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">font&nbsp;</span><span style="color: rgb(255, 0, 0);">font-family</span><span style="color: rgb(0, 0, 255);">="STSong-Light"</span><span style="color: rgb(255, 0, 0);">&nbsp;catalog</span><span style="color: rgb(0, 0, 255);">="Chinese"</span><span style="color: rgb(255, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">font&nbsp;</span><span style="color: rgb(255, 0, 0);">font-family</span><span style="color: rgb(0, 0, 255);">="HeiseiKakuGo-W5"</span><span style="color: rgb(255, 0, 0);">&nbsp;catalog</span><span style="color: rgb(0, 0, 255);">="Japanese"</span><span style="color: rgb(255, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">font&nbsp;</span><span style="color: rgb(255, 0, 0);">font-family</span><span style="color: rgb(0, 0, 255);">="HYGoThic-Medium"</span><span style="color: rgb(255, 0, 0);">&nbsp;catalog</span><span style="color: rgb(0, 0, 255);">="Korean"</span><span style="color: rgb(255, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">composite-font</span><span style="color: rgb(0, 0, 255);">&gt;</span></div><br /><br /><img src ="http://www.blogjava.net/midea0978/aggbug/405460.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/midea0978/" target="_blank">在路上...</a> 2013-10-21 12:53 <a href="http://www.blogjava.net/midea0978/archive/2013/10/21/405460.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下面编译subversion 1.8.X</title><link>http://www.blogjava.net/midea0978/archive/2013/09/11/403964.html</link><dc:creator>在路上...</dc:creator><author>在路上...</author><pubDate>Wed, 11 Sep 2013 12:35:00 GMT</pubDate><guid>http://www.blogjava.net/midea0978/archive/2013/09/11/403964.html</guid><wfw:comment>http://www.blogjava.net/midea0978/comments/403964.html</wfw:comment><comments>http://www.blogjava.net/midea0978/archive/2013/09/11/403964.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/midea0978/comments/commentRss/403964.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/midea0978/services/trackbacks/403964.html</trackback:ping><description><![CDATA[1、下载<br />wget <a href="http://mirror.bit.edu.cn/apache/subversion/subversion-1.8.3.tar.gz">http://mirror.bit.edu.cn/apache/subversion/subversion-1.8.3.tar.gz</a><br />2、下载依赖包<br />./get-deps.sh<br /><br />3.install apr<br />./configur<br />make<br />make install<br />4.install apr-util<br />./configure --with-apr=/usr/local/apr<br />make<br />make install<br />5.update sqlite<br />sqlite-amalgamation下载安装最新版本sqlite,解压<br />4.yum install glibc gcc expat expat-devel openssl openssl-devel<br />下载有关依赖包<br />5.compile svn<br />./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --with-zlib \<br />--with-openssl --enable-maintainer-mode --with-serf=/usr/local/serf --enable-mod-activation<br /><br /><p>可能错误现象：<br />/tools/svn/bin/svn: symbol lookup error: /tools/svn/lib/libsvn_subr-1.so.0: undefined symbol: apr_atomic_xchgptr<br /><br />错误解决<br />新配置的服务器，在运行svn命令时，全部出错显示上面的错误信息。<br />在网上搜索发现，原来这个错误是由于系统已经安装了apr的库文件，而在编译Svn时已经指定了httpd的apr库。<br />在执svn命令时，优先从系统自带的apr库载入，而引起不必要的错误。</p><p>只需要执行以下命令，将apr和apr-util都卸载即可</p><p>rpm -e --allmatches apr-util --nodeps<br />rpm -e --allmatches apr --nodeps</p><br /><img src ="http://www.blogjava.net/midea0978/aggbug/403964.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/midea0978/" target="_blank">在路上...</a> 2013-09-11 20:35 <a href="http://www.blogjava.net/midea0978/archive/2013/09/11/403964.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>EAR文件结构</title><link>http://www.blogjava.net/midea0978/archive/2013/04/08/397531.html</link><dc:creator>在路上...</dc:creator><author>在路上...</author><pubDate>Mon, 08 Apr 2013 08:18:00 GMT</pubDate><guid>http://www.blogjava.net/midea0978/archive/2013/04/08/397531.html</guid><wfw:comment>http://www.blogjava.net/midea0978/comments/397531.html</wfw:comment><comments>http://www.blogjava.net/midea0978/archive/2013/04/08/397531.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/midea0978/comments/commentRss/397531.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/midea0978/services/trackbacks/397531.html</trackback:ping><description><![CDATA[
<strong>1、打包文件命名规则</strong><br />
根据JavaEE规范，打包的EAR文件可以不适用部署描述符部署，因此需要使用一些默认的约定规则，例如<br />
&#8226;EJBs and client archives are packaged as .jar files.
<p>&#8226;Web applications are packaged as .war files.</p>
<p>&#8226;Resource adapters are packaged as .rar files.</p>
<p>&#8226;Enterprise applications are packaged as .ear files, and can contain other Java EE modules such as EJBs, JDBC, JMS, Web applications, and Resource Adapters.</p>
<p>&#8226;Web Services can be packaged either as .war files or as .jar files, depending on whether they are implemented using Java classes or EJBs. Typically, the .war or .jar files are then packaged in an Enterprise Application .ear file.</p>
<p>&#8226;Java EE libraries are packaged either as an Enterprise Application (.ear file) or as a standard Java EE module.</p>
<p>&#8226;Client applications and optional packages are packaged as .jar files.<br />
<strong>2、Java EE默认部署规则</strong><br />
通常EAR应用也可以使用开放式目录部署，此时也应该参考以上的规范配置相应的文件夹，例如<br />
war应用目录名必须为XX.war<br />
EAR==&gt;xx.ear&nbsp; <br />
RAR==&gt;XX.rar<br />
EJB==&gt;xx.jar<br /><br /><strong>3、Java EE标准的部署规则</strong><br />a． 应用包中所有扩展名是.war 的文件被看作是 web 模块。Web 模块的上下文根<br />的名字是相对于应用包根的名字，但要去掉.war 扩展名。<br />b． 应用包中所有扩展名是.rar 的文件都被看作是资源适配器。<br />c． 名字为 lib 的目录被看作是库目录，正如在节 8.2.1&#8220;捆绑的库&#8221;中所述。<br />d． 对于应用包中所有以扩展名是.jar 但不包含在 lib 目录内的文件来说，按下面 的方式来处理：<br />i.&nbsp;如果 JAR 文件中包含带有 Main&#8208;Class 属性的 META&#8208;INF/MANINFEST.MF 文件， 或者包含 META&#8208;INF/application&#8208;client.xml 文件，那么这个 JAR 文件被看作 是应用客户端模块。<br />ii.&nbsp;如果 JAR 文件包含 META&#8208;INF/ejb&#8208;jar.xml 文件，或者包含任何带有 EJB 组件 注释符（Stateless，等等）的类，那么这个 JAR 文件被看作是 EJB 模块。<br />iii.&nbsp;所有其他的 JAR 文件都被忽略，除非它被上面的 JAR 文件使用 JAR 文件引 用机制（如在 mainfest 文件中的 Class&#8208;Path 头<font face="Verdana">library-directory</font>）引用。<br /><br />在Jboss环境中，可以在application.xml中手工指定library-directory，例如：<br />&lt;library-directory&gt;APP-INF/lib&lt;/library-directory&gt;
<br />其他的jboss遵循标准规范<br /><strong><br />4、Weblogic的部署规则</strong><br />
对于weblogic使用下面的一些规则处理目录结构：<br />
</p>
<p>&#8226;For an exploded archived Web application, in the absence of WEB-INF/web.xml descriptor, the name of the directory should have a .war suffix.</p>
<p>&#8226;For an exploded archived Enterprise Application without a META-INF/application.xml descriptor, the directory should have an .ear suffix. Within the application, the directory of exploded Web module should have a .war suffix. Similarly, the exploded EJB module should have a .jar suffix and the exploded RAR module should have a .rar suffix.</p>
<p>&#8226;If an exploded Enterprise Application contains no META-INF/application.xml descriptor, the order in which modules are deployed is undefined and is dependent on the underlying File.listFiles() method order. To ensure a specific order in which modules are deployed, you must add an application.xml descriptor and list the modules in the desired order.<br />
</p>
<p>如果在weblogic下面如果不使用上面的规则，则需要在<font face="Courier New">application.xml</font> 文件中指定对应的uri路径<br />
或者在应用模块中使用下面的manifest路径规则<br />
<br />
<strong>4.1 classloader的路径引用</strong><br />
在weblogic中EAR里面的所有应用共有一个classloader，所以对于ear里面的war，通常不需要在WEB-INF里面包含lib，weblogic提供了一个默认的目录：<br />
APP-INF\lib:存放jar包<br />
APP-INF\classes:存放classes<br /><br />注意对于其他的应用服务器，可能没有这样的规则<br />
<br />
<strong>5、</strong><font face="Verdana"><strong>Manifest Class-Path规则<br />
</strong>在java EE规范中，可以使用manifest文件指定当前的应用模块对与其他classpath路径的关联引用，该文件位于<br />
<font face="Verdana">META-INF/MANIFEST.MF<br />
路径下面，内容例如下面，多个引用路径使用空格分隔：<br />
</font>Manifest-Version: 1.0 <br />
Class-Path: utility.jar ../xxx/classes ../xxxlib/xxx.jar <br />
<br />
META-INF/MANIFEST.MF</font></p>
<p><br />
<br />
Manifest Class-Path</p>
<p><br />
&nbsp;</p>
参考页面：
http://docs.oracle.com/cd/E12839_01/web.1111/e13706/classloading.htm
http://docs.oracle.com/cd/E12839_01/web.1111/e13702/deployunits.htm#DEPGD142
 
<img src ="http://www.blogjava.net/midea0978/aggbug/397531.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/midea0978/" target="_blank">在路上...</a> 2013-04-08 16:18 <a href="http://www.blogjava.net/midea0978/archive/2013/04/08/397531.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windows环境下面搭建Object C开发环境</title><link>http://www.blogjava.net/midea0978/archive/2012/03/07/371420.html</link><dc:creator>在路上...</dc:creator><author>在路上...</author><pubDate>Wed, 07 Mar 2012 09:40:00 GMT</pubDate><guid>http://www.blogjava.net/midea0978/archive/2012/03/07/371420.html</guid><wfw:comment>http://www.blogjava.net/midea0978/comments/371420.html</wfw:comment><comments>http://www.blogjava.net/midea0978/archive/2012/03/07/371420.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/midea0978/comments/commentRss/371420.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/midea0978/services/trackbacks/371420.html</trackback:ping><description><![CDATA[<p><strong>1、安装编译器</strong>&nbsp;&nbsp;&nbsp; </p> <p>Objective-C的编译器有很多，其中LLVM属于从GCC发展出来的，主要使用在苹果的平台中，GNU可以使用GnuStep，网址是<a title="http://wwwmain.gnustep.org/" href="http://wwwmain.gnustep.org/">http://wwwmain.gnustep.org/</a>，从这里可以下载Windows版本的gcc编译器，配合codeblocks可以编译调试object c程序。<br>&nbsp;&nbsp;&nbsp; <a href="http://www.blogjava.net/images/blogjava_net/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_2.png"><img src="http://www.blogjava.net/images/blogjava_net/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_thumb.png"></a><br>进入下载页面，下载上面3个软件包，安装，例如安装到D:\GNUstep，</p> <p><strong>2、安装CodeBlocks IDE环境</strong></p> <p>下载地址：<a href="http://www.codeblocks.org/">http://www.<b>codeblocks</b>.org/</a></p> <p><strong>3、配置编译器</strong></p> <p>安装好codeblocks之后，进入<i>Settings-&gt;Compiler and debugger...</i>，选择<b>GNU GCC Compiler编译器，复制重新</b>命名为“GNUstep MinGW Compiler“配置</p> <p>&nbsp;&nbsp; <a href="http://www.blogjava.net/images/blogjava_net/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_4.png"><img src="http://www.blogjava.net/images/blogjava_net/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_thumb_1.png"></a></p> <p>编译其他选项录入<strong>：-fconstant-string-class=NSConstantString -std=c99</strong></p> <p><a href="http://www.blogjava.net/images/blogjava_net/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/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/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_thumb_2.png" width="244" height="102"></a></p> <p>同时指定搜索目录：<br>》编译器的搜索目录是D:\GNUstep\GNUstep\System\Library\Headers<br>》linker的搜索目录设置为D:\GNUstep\GNUstep\System\Library\Libraries，同时设置linker的参数：-lobjc -lgnustep-base <br>或者可以在linker选项中加入D:\GNUstep\GNUstep\System\Library\Libraries下面的2个文件libgnustep-base.dll.a，libobjc.dll.a</p> <p><a href="http://www.blogjava.net/images/blogjava_net/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_12.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/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_thumb_5.png" width="399" height="220"></a></p> <p><a href="http://www.blogjava.net/images/blogjava_net/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_10.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/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_thumb_4.png" width="459" height="167"></a></p> <p>设置编译器、连接器的搜索目录</p> <p><a href="http://www.blogjava.net/images/blogjava_net/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_18.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/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_thumb_8.png" width="466" height="193"></a></p> <p><strong>4、配置语法、文件类型，关键字等</strong></p> <p><strong><font color="#646b86">添加文件类型支持</font></strong></p> <p>1) 进入<i>Settings-&gt;Environment...</i>  <p>2) 选择 <b>Files extension handling</b> 添加<b>*.m</b>  <p>3) 进入 <i>Project-&gt;Project tree-&gt;Edit file types &amp; categories...</i>  <p>4) 在<b>Sources</b>, 下面添加 <b>*.m</b>到文件类型列表中.  <p><a href="http://www.blogjava.net/images/blogjava_net/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/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/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_thumb_7.png" width="244" height="241"></a>  <p><strong><font color="#646b86">添加语法高亮支持</font></strong>  <p>1) 进入 <i>Settings-&gt;Editor...</i>  <p>2) 选择 <b>Syntax highlighting</b> 进入<b>Filemasks...</b>. 添加<b>*.m</b> 到文件类型列表中.  <p>3) 进入 <b>Keywords...</b> (紧靠<b>Filemasks...</b>) 添加下面的关键字到列表中<br> <table style="color: #000000" border="0" cellspacing="0" cellpadding="2" width="840"> <tbody> <tr> <td valign="top" width="838">@interface @implementation @end @class @selector @protocol @public @protected @private id BOOL YES NO SEL nil NULL self </td></tr></tbody></table> <blockquote> <p>语法高亮中，加入*.m扩展名<br><a href="http://www.blogjava.net/images/blogjava_net/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_14.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/midea0978/Windows-Live-Writer/49db4c9e520f_EDBD/image_thumb_6.png" width="346" height="176"></a>&nbsp; </p></blockquote> <p><strong>5、代码测试</strong></p> <p><strong>新建一个工程，修改main.c为main.m,录入下面代码</strong></p> <div><pre>#<span style="color: #0000ff">import</span> &lt;Foundation/Foundation.h&gt;

<span style="color: #0000ff">int</span> main (<span style="color: #0000ff">int</span> argc, <span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span> *argv[])
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSLog(@"<span style="color: #8b0000">%@</span>",@"<span style="color: #8b0000">hello world</span>");
    [pool drain];
    <span style="color: #0000ff">return</span> 0;
}</pre></div><br>
<p><strong>编译运行效果如下：</strong></p>
<table style="background-color: #000000; color: #ffffff" border="0" cellspacing="0" cellpadding="2" width="568">
<tbody>
<tr>
<td valign="top" width="566">
<p>2012-03-07 17:33:49.711 objc1[6080] hello world</p>
<p>Process returned 0 (0x0)&nbsp;&nbsp; execution time : 0.220 s<br>Press any key to continue.</p></td></tr></tbody></table><img src ="http://www.blogjava.net/midea0978/aggbug/371420.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/midea0978/" target="_blank">在路上...</a> 2012-03-07 17:40 <a href="http://www.blogjava.net/midea0978/archive/2012/03/07/371420.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA AWT处理图片时的错误</title><link>http://www.blogjava.net/midea0978/archive/2012/01/19/368742.html</link><dc:creator>在路上...</dc:creator><author>在路上...</author><pubDate>Thu, 19 Jan 2012 04:01:00 GMT</pubDate><guid>http://www.blogjava.net/midea0978/archive/2012/01/19/368742.html</guid><wfw:comment>http://www.blogjava.net/midea0978/comments/368742.html</wfw:comment><comments>http://www.blogjava.net/midea0978/archive/2012/01/19/368742.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/midea0978/comments/commentRss/368742.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/midea0978/services/trackbacks/368742.html</trackback:ping><description><![CDATA[<p>在linux环境部署应用时，有时候需要用到AWT处理图片的功能，典型的就是图片的缩放处理等等，可能会遇到下面错误：<br />java.lang.NoClassDefFoundError<br />　　at java.lang.Class.forName0(Native Method)<br />　　at java.lang.Class.forName(Class.java:141)<br />　　at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62)<br />　　at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1041)</p> <p>甚至在默写情况下面可能导致jvm崩溃，对于该问题的解决办法是</p> <p>1、配置java启动参数java -Djava.awt.headless=true<br />在jdk1.4及以上的环境中，允许使用没有键盘、鼠标、x window显示启动的headless虚拟机模式，通过加上上面的属性即可</p> <p>2、配置合适的DISPLAY属性</p> <p>例如通过当前用户启动了一个x window的图形界面，可以将设置类似export DISPLAY=localhost:10.0这样的环境变量将awt定位到一个实际存在的环境处理。</p> <p>配置成功之后，可能可以看到这样的提示</p> <p>nl.ikarus.nxt.priv.imageio.icoreader.lib.ICOReader loaded, version: 0.06.064 build: 691</p> <p>配置好之后就不会报错了</p><p>网上还有一种办法，启动Xvfb</p><p>使用<div>ls -l /tmp/.X*lock</div>可以查看当前启动了那些xwindow，如果发现X0，可能0.0已经被使用了<br /></p><p><div>使用两个命令：<br />　　      －－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－      <br />　　       Xvfb :1 -screen 0 800x600x16 &amp;                               启动Xwindows的虚拟设备<br />　　       export DISPLAY=localhost:1.0                                  配置本地环境<br />　　      －－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－    <br /></div><br /></p> <p>参考：<a title="http://javatechniques.com/blog/linux-x11-libraries-for-headless-mode/" href="http://javatechniques.com/blog/linux-x11-libraries-for-headless-mode/">http://javatechniques.com/blog/linux-x11-libraries-for-headless-mode/</a></p><img src ="http://www.blogjava.net/midea0978/aggbug/368742.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/midea0978/" target="_blank">在路上...</a> 2012-01-19 12:01 <a href="http://www.blogjava.net/midea0978/archive/2012/01/19/368742.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转】CentOS 卸载OpenJdk </title><link>http://www.blogjava.net/midea0978/archive/2012/01/17/368637.html</link><dc:creator>在路上...</dc:creator><author>在路上...</author><pubDate>Tue, 17 Jan 2012 02:42:00 GMT</pubDate><guid>http://www.blogjava.net/midea0978/archive/2012/01/17/368637.html</guid><wfw:comment>http://www.blogjava.net/midea0978/comments/368637.html</wfw:comment><comments>http://www.blogjava.net/midea0978/archive/2012/01/17/368637.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/midea0978/comments/commentRss/368637.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/midea0978/services/trackbacks/368637.html</trackback:ping><description><![CDATA[<p>安装好的CentOS会自带OpenJdk,用命令 java -version ，会有下面的信息：</p>
<p>java version "1.6.0"<br />OpenJDK&nbsp; Runtime Environment (build 1.6.0-b09)<br />OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)<br /></p>
<p>最好还是先卸载掉openjdk,在安装sun公司的jdk.</p>
<p>先查看 rpm -qa | grep java</p>
<p>显示如下信息：</p>
<p>java-1.4.2-gcj-compat-1.4.2.0-40jpp.115<br />java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5</p>
<p>卸载：</p>
<p>rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115<br />rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5</p>
<p>还有一些其他的命令</p>
<p>rpm -qa | grep gcj</p>
<p>rpm -qa | grep jdk<br /></p>
<p>如果出现找不到openjdk source的话，那么还可以这样卸载</p>
<p>&nbsp;yum&nbsp;-y&nbsp;remove&nbsp;java&nbsp;java-1.4.2-gcj-compat-1.4.2.0-40jpp.115<br />&nbsp;yum&nbsp;-y&nbsp;remove&nbsp;java&nbsp;java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5</p><img src ="http://www.blogjava.net/midea0978/aggbug/368637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/midea0978/" target="_blank">在路上...</a> 2012-01-17 10:42 <a href="http://www.blogjava.net/midea0978/archive/2012/01/17/368637.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android手机一键Root，非常傻瓜式操作</title><link>http://www.blogjava.net/midea0978/archive/2012/01/14/368499.html</link><dc:creator>在路上...</dc:creator><author>在路上...</author><pubDate>Sat, 14 Jan 2012 08:28:00 GMT</pubDate><guid>http://www.blogjava.net/midea0978/archive/2012/01/14/368499.html</guid><wfw:comment>http://www.blogjava.net/midea0978/comments/368499.html</wfw:comment><comments>http://www.blogjava.net/midea0978/archive/2012/01/14/368499.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/midea0978/comments/commentRss/368499.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/midea0978/services/trackbacks/368499.html</trackback:ping><description><![CDATA[<p>最近需要把android手机root一下，找到了这个<a href="http://www.shuame.com/" target="_blank">刷机精灵</a>，的确很好用，经过测试，在华为C8650,U8800,HTC S710D,HTC Sensation上面都测试通过，对于不想深入研究的用户来说，的确够简单！推荐一下。<br>1、连接手机数据线，安装必要的驱动，打开开发调试开关</p> <p><a href="http://www.blogjava.net/images/blogjava_net/midea0978/Windows-Live-Writer/f3da3554c05c_E59A/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/midea0978/Windows-Live-Writer/f3da3554c05c_E59A/image_thumb_2.png" width="244" height="172"></a><br>2、点击root解锁，等待几十秒就大功告成了！</p> <p><a href="http://www.blogjava.net/images/blogjava_net/midea0978/Windows-Live-Writer/f3da3554c05c_E59A/image_4.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/midea0978/Windows-Live-Writer/f3da3554c05c_E59A/image_thumb_1.png" width="244" height="181"></a></p><img src ="http://www.blogjava.net/midea0978/aggbug/368499.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/midea0978/" target="_blank">在路上...</a> 2012-01-14 16:28 <a href="http://www.blogjava.net/midea0978/archive/2012/01/14/368499.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>中文编码相关</title><link>http://www.blogjava.net/midea0978/archive/2012/01/14/368498.html</link><dc:creator>在路上...</dc:creator><author>在路上...</author><pubDate>Sat, 14 Jan 2012 08:16:00 GMT</pubDate><guid>http://www.blogjava.net/midea0978/archive/2012/01/14/368498.html</guid><wfw:comment>http://www.blogjava.net/midea0978/comments/368498.html</wfw:comment><comments>http://www.blogjava.net/midea0978/archive/2012/01/14/368498.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/midea0978/comments/commentRss/368498.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/midea0978/services/trackbacks/368498.html</trackback:ping><description><![CDATA[<p>碰到中文乱码的时候，可以考虑使用一个熟悉的中心字符串入手进行调试跟踪转换过程的变化，这里记录一下“中文”汉字的编码变化过程</p> <p>UNICODE编码：4e2d 6587<br>通常在JAVA的内置处理机制中是这样存储的，不同的环境中返回的byte[]不一样，例如windows环境，使用getBytes()返回的是getBytes(“GBK”),linux环境，通常如果设置LANG=zh_CN.UTF-8，这相当于getBytes(“utf-8”).</p> <p>GBK编码：d6d0 cec4，byte[]={-42,-48,-50,-60}</p> <p>UTF8编码:e4 b8 ad e6 96 87,byte[]={-28,-72,-83,-26,-106,-121}</p> <p>ISO8859-1编码：如果试图将byte[]={-42,-48,-50,-60}采用new String(byte[],”iso8859-1”)读取，由于不能正确转换，所以是2个问号byte[]={63,63}<br>但是从存储的角度看,gbk和iso8859-1有类似之处，GBK采用char(2),而iso8859-1采用byte[4],拆分为{-42,-48,-50,-60}</p> <p>Javascript:可以使用var str=”\u4E2D\u6587”;来表示</p> <p>HTML中，可以使用&amp;#20013;&amp;#25991，相当于吧16进制转换为10进制，再加上转义控制&amp;#和;结尾。</p> <p>如果需要从utf byte[]和GBK byte[]之间互相转换，在支持unicode的java平台，可以使用下面的转换规则</p> <div><pre><span style="color: #0000ff">byte</span>[] utf8={-28,-72,-83,-26,-106,-121};
String str=<span style="color: #0000ff">new</span> String(utf8,”utf-8”);<span style="color: #008000">//转换为正确的中文</span>
<span style="color: #0000ff">byte</span>[] gbk=str.getBytes(“GBK”);</pre></div><br>
<p>或者：</p>
<div><pre><span style="color: #0000ff">byte</span>[] gbk={-42,-48,-50,-60};
String str=<span style="color: #0000ff">new</span> String(utf8,"<span style="color: #8b0000">GBK</span>");<span style="color: #008000">//转换为正确的中文</span>
<span style="color: #0000ff">byte</span>[] utf8=str.getBytes("<span style="color: #8b0000">utf-8</span>")</pre></div><br>

<p>注意上面的byte[]为java的，与.net不一样，需要转换</p><img src ="http://www.blogjava.net/midea0978/aggbug/368498.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/midea0978/" target="_blank">在路上...</a> 2012-01-14 16:16 <a href="http://www.blogjava.net/midea0978/archive/2012/01/14/368498.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>APK文件修改及编译打包备忘</title><link>http://www.blogjava.net/midea0978/archive/2012/01/04/367848.html</link><dc:creator>在路上...</dc:creator><author>在路上...</author><pubDate>Wed, 04 Jan 2012 08:07:00 GMT</pubDate><guid>http://www.blogjava.net/midea0978/archive/2012/01/04/367848.html</guid><wfw:comment>http://www.blogjava.net/midea0978/comments/367848.html</wfw:comment><comments>http://www.blogjava.net/midea0978/archive/2012/01/04/367848.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/midea0978/comments/commentRss/367848.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/midea0978/services/trackbacks/367848.html</trackback:ping><description><![CDATA[1、使用apktool反编译<br />apktool d [file.apk] [path]<br />2、根据需要修改配置文件、smali文件，如果需要反编译成jar文件，可以使用dex2jar，然后使用jd-gui查看代码<br />3、重新编译成apk文件<br />apktool b [path] file.apk<br />4、签名<br />使用JDK自带工具keytool创建keystore<br />c:\&gt;keytool -genkey -alias android.keystore -keyalg RSA -validity 10000 -keystore mystore.keystore <br />其中validity 为有效期天数,这里创建的keystore文件也可以供eclipse打包apk时使用，注意记住密码。<br />使用JDK自带工具jarsigner签名apk文件，需要输入keystore的密码<br />c:\&gt;jarsigner -verbose -keystore mystore.jks -signedjar [签名后的文件.jar] [需要签名的文件.apk] my<br />5、安装到手机上面测试<br />adb -d install -r signed-file.apk<br /><br /><img src ="http://www.blogjava.net/midea0978/aggbug/367848.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/midea0978/" target="_blank">在路上...</a> 2012-01-04 16:07 <a href="http://www.blogjava.net/midea0978/archive/2012/01/04/367848.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>smali文件语法参考</title><link>http://www.blogjava.net/midea0978/archive/2012/01/04/367847.html</link><dc:creator>在路上...</dc:creator><author>在路上...</author><pubDate>Wed, 04 Jan 2012 07:59:00 GMT</pubDate><guid>http://www.blogjava.net/midea0978/archive/2012/01/04/367847.html</guid><wfw:comment>http://www.blogjava.net/midea0978/comments/367847.html</wfw:comment><comments>http://www.blogjava.net/midea0978/archive/2012/01/04/367847.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/midea0978/comments/commentRss/367847.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/midea0978/services/trackbacks/367847.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 转载：http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html&nbsp;Dalvik opcodesAuthor: Gabor PallerVx values in the table denote a Dalvik register. Depending on the instruction, 16, 256 or 64k r...&nbsp;&nbsp;<a href='http://www.blogjava.net/midea0978/archive/2012/01/04/367847.html'>阅读全文</a><img src ="http://www.blogjava.net/midea0978/aggbug/367847.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/midea0978/" target="_blank">在路上...</a> 2012-01-04 15:59 <a href="http://www.blogjava.net/midea0978/archive/2012/01/04/367847.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>