<?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>Marshal&#039;s Blog &#187; eclipse</title>
	<atom:link href="http://marshal.easymorse.com/archives/tag/eclipse/feed" rel="self" type="application/rss+xml" />
	<link>http://marshal.easymorse.com</link>
	<description>It&#039;s swap of marshal&#039;s memory.</description>
	<lastBuildDate>Tue, 07 Sep 2010 08:15:36 +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>mac下eclipse安装cdt</title>
		<link>http://marshal.easymorse.com/archives/3182</link>
		<comments>http://marshal.easymorse.com/archives/3182#comments</comments>
		<pubDate>Fri, 03 Sep 2010 06:32:54 +0000</pubDate>
		<dc:creator>Marshal</dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[eclipse cdt]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://marshal.easymorse.com/archives/3182</guid>
		<description><![CDATA[马上又要做c/c++开发了。在mac上搭建一下ide环境。还是用eclipse+cdt吧。
安装cdt。目前使用的eclipse是3.6（helios），在上面直接安装cdt 7.0。可以参见cdt链接（http://www.eclipse.org/cdt/）。
 
安装介绍：http://www.eclipse.org/cdt/downloads.php，安装链接：http://download.eclipse.org/tools/cdt/releases/helios
 
 
因为mac中已经自带gcc环境了，因此不需要再像windows下那样，安装配置cygwin啥的劳什子东西了。
测试一下是否安装成功，编写一个hellowrold项目。
 
创建标准c项目：
 
注意项目的属性中，要设置为utf-8，默认是EUC_CN。
 
默认创建后，会生成现成的代码，把英文的hellowrold改为中文，其他不动。
 
执行buildall：
 
在命令行中执行：
 
说明环境搭建成功。
]]></description>
			<content:encoded><![CDATA[<p>马上又要做c/c++开发了。在mac上搭建一下ide环境。还是用eclipse+cdt吧。</p>
<p>安装cdt。目前使用的eclipse是3.6（helios），在上面直接安装cdt 7.0。可以参见cdt链接（<a href="http://www.eclipse.org/cdt/">http://www.eclipse.org/cdt/</a>）。</p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2010/09/image4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2010/09/image_thumb4.png" width="244" height="242" /></a> </p>
<p>安装介绍：<a href="http://www.eclipse.org/cdt/downloads.php">http://www.eclipse.org/cdt/downloads.php</a>，安装链接：<a title="http://download.eclipse.org/tools/cdt/releases/helios" href="http://download.eclipse.org/tools/cdt/releases/helios">http://download.eclipse.org/tools/cdt/releases/helios</a></p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2010/09/image5.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2010/09/image_thumb5.png" width="279" height="107" /></a> </p>
<p> <span id="more-3182"></span>
<p>因为mac中已经自带gcc环境了，因此不需要再像windows下那样，安装配置cygwin啥的劳什子东西了。</p>
<p>测试一下是否安装成功，编写一个hellowrold项目。</p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2010/09/image6.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2010/09/image_thumb6.png" width="315" height="127" /></a> </p>
<p>创建标准c项目：</p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2010/09/image7.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2010/09/image_thumb7.png" width="325" height="289" /></a> </p>
<p>注意项目的属性中，要设置为utf-8，默认是EUC_CN。</p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2010/09/image8.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2010/09/image_thumb8.png" width="338" height="157" /></a> </p>
<p>默认创建后，会生成现成的代码，把英文的hellowrold改为中文，其他不动。</p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2010/09/image9.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2010/09/image_thumb9.png" width="455" height="175" /></a> </p>
<p>执行buildall：</p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2010/09/image10.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2010/09/image_thumb10.png" width="314" height="265" /></a> </p>
<p>在命令行中执行：</p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2010/09/image11.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2010/09/image_thumb11.png" width="302" height="154" /></a> </p>
<p>说明环境搭建成功。</p>
]]></content:encoded>
			<wfw:commentRss>http://marshal.easymorse.com/archives/3182/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决maven项目在eclipse中循环构建的问题</title>
		<link>http://marshal.easymorse.com/archives/2775</link>
		<comments>http://marshal.easymorse.com/archives/2775#comments</comments>
		<pubDate>Wed, 02 Jun 2010 06:44:17 +0000</pubDate>
		<dc:creator>Marshal</dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://marshal.easymorse.com/archives/2775</guid>
		<description><![CDATA[在关注m2eclipse集成android的eclipse插件bug中提到了maven项目在eclipse中会出现循环构建的问题。
我订阅了该bug的跟帖邮件，这样有人在这个bug下发表评论，就可以通知到邮件中。上上周吧，已经有人手工解决了这个问题。上周观察了几个人的回复，应该是没有副作用的。
这周按照上面提到的手工解决方法，哈哈，eclipse清静了，不会每改动一个代码，就不停的构建了。
方法很简单，把根目录下的.project文件中的以下部分屏蔽或者删除掉：
&#60;buildCommand&#62;      &#160;&#160;&#160; &#60;name&#62;com.android.ide.eclipse.adt.ApkBuilder&#60;/name&#62;       &#160;&#160;&#160; &#60;arguments&#62;       &#160;&#160;&#160; &#60;/arguments&#62;       &#60;/buildCommand&#62;

 
大致原因是，maven本身也调用ApkBuilder做构建了，这里的eclipse也做，重复了。比如maven的ApkBuilder做过构建，会修改某些文件，被eclipse中的ApkBuilder任务监听触发，再做了一次，这样造成循环。
虽然需要手工做一下屏蔽，但是已经比较简单了。
这里再说一下从创建android eclipse项目到成为maven项目的步骤，这里假定你已经：

maven； 
eclipse adt； 
eclipse m2eclipse插件； 
m2eclipse和adt集成的插件。 

如果不确定是否正确安装了上述工具，可以参考maven集成eclipse和android adt插件和为android项目集成maven。
剩下的步骤就很简单了：

在eclipse中创建android项目，通过adt插件； 
然后创建maven的pom文件，可以参考这个pom.xml文件，它比较简明； 
通过m2eclipse插件菜单“enable dependency management” 
将项目根目录中.project文件上述部分屏蔽或者删除。 

]]></description>
			<content:encoded><![CDATA[<p>在<a href="http://marshal.easymorse.com/archives/2732" title="关注m2eclipse集成android的eclipse插件bug">关注m2eclipse集成android的eclipse插件bug</a>中提到了maven项目在eclipse中会出现循环构建的问题。</p>
<p>我订阅了该bug的跟帖邮件，这样有人在这个bug下发表评论，就可以通知到邮件中。上上周吧，已经有人手工解决了这个问题。上周观察了几个人的回复，应该是没有副作用的。</p>
<p>这周按照上面提到的手工解决方法，哈哈，eclipse清静了，不会每改动一个代码，就不停的构建了。</p>
<p>方法很简单，把根目录下的.project文件中的以下部分屏蔽或者删除掉：</p>
<blockquote><p>&lt;buildCommand&gt;      <br />&#160;&#160;&#160; &lt;name&gt;com.android.ide.eclipse.adt.ApkBuilder&lt;/name&gt;       <br />&#160;&#160;&#160; &lt;arguments&gt;       <br />&#160;&#160;&#160; &lt;/arguments&gt;       <br />&lt;/buildCommand&gt;</p>
</blockquote>
<p> <span id="more-2775"></span>
<p>大致原因是，maven本身也调用ApkBuilder做构建了，这里的eclipse也做，重复了。比如maven的ApkBuilder做过构建，会修改某些文件，被eclipse中的ApkBuilder任务监听触发，再做了一次，这样造成循环。</p>
<p>虽然需要手工做一下屏蔽，但是已经比较简单了。</p>
<p>这里再说一下从创建android eclipse项目到成为maven项目的步骤，这里假定你已经：</p>
<ul>
<li>maven； </li>
<li>eclipse adt； </li>
<li>eclipse m2eclipse插件； </li>
<li>m2eclipse和adt集成的插件。 </li>
</ul>
<p>如果不确定是否正确安装了上述工具，可以参考<a href="http://marshal.easymorse.com/archives/2728" title="maven集成eclipse和android adt插件">maven集成eclipse和android adt插件</a>和<a href="http://marshal.easymorse.com/archives/2717" title="为android项目集成maven">为android项目集成maven</a>。</p>
<p>剩下的步骤就很简单了：</p>
<ol>
<li>在eclipse中创建android项目，通过adt插件； </li>
<li>然后创建maven的pom文件，可以参考<a href="http://easymorse.googlecode.com/svn/tags/compare.price-0.1/pom.xml">这个pom.xml文件</a>，它比较简明； </li>
<li>通过m2eclipse插件菜单“enable dependency management” </li>
<li>将项目根目录中.project文件上述部分屏蔽或者删除。 </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://marshal.easymorse.com/archives/2775/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>maven集成eclipse android项目办法总结</title>
		<link>http://marshal.easymorse.com/archives/2736</link>
		<comments>http://marshal.easymorse.com/archives/2736#comments</comments>
		<pubDate>Wed, 12 May 2010 05:40:19 +0000</pubDate>
		<dc:creator>Marshal</dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://marshal.easymorse.com/archives/2736</guid>
		<description><![CDATA[经过不断的尝试，总结出一个maven项目在eclipse android环境下的集成办法。
集成的复杂性和一些问题的权衡
这个集成办法，最大的问题是比较复杂：

eclipse集成了android adt插件；
eclipse集成m2eclipse插件；
maven使用了android部署的插件——maven android plugin；
为了把maven和eclipse集成起来的eclipse插件——m2eclipse android plugin。

这些插件关联，可以认为是串联，如果出现问题，就会影响整个软件项目。结果就碰到问题了，见关注m2eclipse集成android的eclipse插件bug，这种bug较难解决，因为要解决问题，该插件（m2eclipse-android-plugin）作者要向上游一个一个插件的排查，学习和了解他们的东西。
 
我原打算等待bug修改后再向下进行，但是4天了，bug还没确定问题的原因。也许哪天m2eclipse升级了，问题自然得到解决。
也曾经打算用其他办法。因为android官方支持使用ant脚本自动构建，也尝试了使用ant+ivy+ivyde的方式实现maven类似的功能。
结果是，ivy和ivyde很好的解决了类库自动依赖问题。但只能在eclipse项目中解决问题，如果使用android的ant task打包APK，不能自动将依赖类库打入包内。因此放弃。
还是用maven的方式吧。
使用maven集成的一些要点
首先是安装和环境的配置：

eclipse项目集成maven，见为android项目集成maven
eclipse增加m2eclipse android integration插件，目的是集成maven和eclipse adt，见[2728]，我一般也不用m2eclipse，因为不需要，但是这个m2eclipse android integration插件需要，文档见[2728]

然后，针对[2732]提到的bug，我这样解决的：
 
取消项目的自动构建。测试了一下，这对android项目没啥影响，反正部署和运行android的项目，它自带的编译器还是要工作的。
最后一个问题，要能在工作机上打包debug签名的APK包，在服务器端，比如ubuntu server端，不借助eclipse环境下，通过服务器端全局设置，打包release签名的正式APK包。这里有个要求，pom.xml文件是一致的，在工作机上和在服务器上。不一样的是maven的settings.xml文件。
我把自己的GolfDemo生成了这样的项目，源代码见：
http://easymorse.googlecode.com/svn/tags/GolfDemo-1.2/

主要看pom.xml文件。
&#60;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&#62;
&#60;project xmlns=&#34;http://maven.apache.org/POM/4.0.0&#34; xmlns:xsi=&#34;http://www.w3.org/2001/XMLSchema-instance&#34;
	xsi:schemaLocation=&#34;http://maven.apache.org/POM/4.0.0

http://maven.apache.org/maven-v4_0_0.xsd&#34;&#62;

	&#60;modelVersion&#62;4.0.0&#60;/modelVersion&#62;
	&#60;groupId&#62;com.easymorse&#60;/groupId&#62;
	&#60;artifactId&#62;GolfDemo&#60;/artifactId&#62;
	&#60;version&#62;1.2&#60;/version&#62;
	&#60;packaging&#62;apk&#60;/packaging&#62;
	&#60;name&#62;GolfDemo&#60;/name&#62;

	&#60;dependencies&#62;
		&#60;dependency&#62;
			&#60;groupId&#62;android&#60;/groupId&#62;
			&#60;artifactId&#62;android&#60;/artifactId&#62;
			&#60;version&#62;2.1_r1&#60;/version&#62;
			&#60;scope&#62;provided&#60;/scope&#62;
		&#60;/dependency&#62;
		&#60;dependency&#62;
			&#60;groupId&#62;com.thoughtworks.xstream&#60;/groupId&#62;
			&#60;artifactId&#62;xstream&#60;/artifactId&#62;
			&#60;version&#62;1.3.1&#60;/version&#62;
		&#60;/dependency&#62;
	&#60;/dependencies&#62;

	&#60;build&#62;
		&#60;sourceDirectory&#62;src&#60;/sourceDirectory&#62;
		&#60;plugins&#62;
			&#60;plugin&#62;
				&#60;groupId&#62;
					com.jayway.maven.plugins.android.generation2
                  &#60;/groupId&#62;
				&#60;artifactId&#62;maven-android-plugin&#60;/artifactId&#62;
				&#60;version&#62;2.3.3&#60;/version&#62;
				&#60;configuration&#62;
					&#60;sdk&#62;
						&#60;path&#62;${env.ANDROID_HOME}&#60;/path&#62;
						&#60;platform&#62;7&#60;/platform&#62;
					&#60;/sdk&#62;
					&#60;deleteConflictingFiles&#62;true&#60;/deleteConflictingFiles&#62;
				&#60;/configuration&#62;
				&#60;extensions&#62;true&#60;/extensions&#62;
			&#60;/plugin&#62;
			&#60;plugin&#62;
				&#60;artifactId&#62;maven-compiler-plugin&#60;/artifactId&#62;
				&#60;configuration&#62;
					&#60;source&#62;1.6&#60;/source&#62;
					&#60;target&#62;1.6&#60;/target&#62;
				&#60;/configuration&#62;
			&#60;/plugin&#62;
		&#60;/plugins&#62;
	&#60;/build&#62;
	&#60;profiles&#62;
		&#60;profile&#62;
			&#60;id&#62;sign&#60;/id&#62;
			&#60;build&#62;
				&#60;plugins&#62;
					&#60;plugin&#62;
						&#60;groupId&#62;org.apache.maven.plugins&#60;/groupId&#62;
						&#60;artifactId&#62;maven-jarsigner-plugin&#60;/artifactId&#62;
						&#60;version&#62;1.2&#60;/version&#62;
						&#60;executions&#62;
							&#60;execution&#62;
								&#60;id&#62;signing&#60;/id&#62;
								&#60;goals&#62;
									&#60;goal&#62;sign&#60;/goal&#62;
								&#60;/goals&#62;
								&#60;phase&#62;package&#60;/phase&#62;
								&#60;inherited&#62;true&#60;/inherited&#62;
								&#60;configuration&#62;
									&#60;archiveDirectory&#62;&#60;/archiveDirectory&#62;
									&#60;includes&#62;
										&#60;include&#62;target/*.apk&#60;/include&#62;
									&#60;/includes&#62;
									&#60;keystore&#62;${keyFilePath}&#60;/keystore&#62;
									&#60;storepass&#62;${storePassword}&#60;/storepass&#62;
									&#60;keypass&#62;${keyPassword}&#60;/keypass&#62;
									&#60;alias&#62;${keyAlias}&#60;/alias&#62;
								&#60;/configuration&#62;
							&#60;/execution&#62;
						&#60;/executions&#62;
					&#60;/plugin&#62;
					&#60;plugin&#62;
						&#60;groupId&#62;com.jayway.maven.plugins.android.generation2&#60;/groupId&#62;
						&#60;artifactId&#62;maven-android-plugin&#60;/artifactId&#62;
						&#60;inherited&#62;true&#60;/inherited&#62;
						&#60;configuration&#62;
							&#60;sign&#62;
								&#60;debug&#62;false&#60;/debug&#62;
							&#60;/sign&#62;
						&#60;/configuration&#62;
					&#60;/plugin&#62;
				&#60;/plugins&#62;
			&#60;/build&#62;
		&#60;/profile&#62;
	&#60;/profiles&#62;
&#60;/project&#62;
&#160;

这个项目，如果这样：

mvn clean install

将生成debug签名的APK包，如果：

mvn clean install android:deploy

将会生成debug签名包，然后部署到手机设备上。
如果：

mvn clean install –Psign

将会激活pom.xml文件中的id为sign的profile，即使用正式签名的插件配置信息，这里的配置信息，比如密码，签名文件路径等，都是属性变量，需要在用户的settings.xml文件中设置。比如：

&#60;settings xmlns=&#34;http://maven.apache.org/SETTINGS/1.0.0&#34;
&#160;&#160;&#160; xmlns:xsi=&#34;http://www.w3.org/2001/XMLSchema-instance&#34;
&#160;&#160;&#160; xsi:schemaLocation=&#34;http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd&#34;&#62;
&#160;&#160;&#160; &#60;profiles&#62;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;profile&#62;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;id&#62;sign&#60;/id&#62;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;properties&#62;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;keyFilePath&#62;/Users/user_name/key/your.release.keystore&#60;/keyFilePath&#62;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;storePassword&#62;your_password&#60;/storePassword&#62;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>经过不断的尝试，总结出一个maven项目在eclipse android环境下的集成办法。</p>
<h4>集成的复杂性和一些问题的权衡</h4>
<p>这个集成办法，最大的问题是比较复杂：</p>
<ul>
<li>eclipse集成了android adt插件；</li>
<li>eclipse集成m2eclipse插件；</li>
<li>maven使用了android部署的插件——maven android plugin；</li>
<li>为了把maven和eclipse集成起来的eclipse插件——m2eclipse android plugin。</li>
</ul>
<p>这些插件关联，可以认为是串联，如果出现问题，就会影响整个软件项目。结果就碰到问题了，见<a href="http://marshal.easymorse.com/archives/2732" title="关注m2eclipse集成android的eclipse插件bug">关注m2eclipse集成android的eclipse插件bug</a>，这种bug较难解决，因为要解决问题，该插件（m2eclipse-android-plugin）作者要向上游一个一个插件的排查，学习和了解他们的东西。</p>
<p> <span id="more-2736"></span>
<p>我原打算等待bug修改后再向下进行，但是4天了，bug还没确定问题的原因。也许哪天m2eclipse升级了，问题自然得到解决。</p>
<p>也曾经打算用其他办法。因为android官方支持使用ant脚本自动构建，也尝试了使用ant+ivy+ivyde的方式实现maven类似的功能。</p>
<p>结果是，ivy和ivyde很好的解决了类库自动依赖问题。但只能在eclipse项目中解决问题，如果使用android的ant task打包APK，不能自动将依赖类库打入包内。因此放弃。</p>
<p>还是用maven的方式吧。</p>
<h4>使用maven集成的一些要点</h4>
<p>首先是安装和环境的配置：</p>
<ul>
<li>eclipse项目集成maven，见<a href="http://marshal.easymorse.com/archives/2717" title="为android项目集成maven">为android项目集成maven</a></li>
<li>eclipse增加m2eclipse android integration插件，目的是集成maven和eclipse adt，见[2728]，我一般也不用m2eclipse，因为不需要，但是这个m2eclipse android integration插件需要，文档见[2728]</li>
</ul>
<p>然后，针对[2732]提到的bug，我这样解决的：</p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2010/05/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2010/05/image_thumb.png" width="274" height="206" /></a> </p>
<p>取消项目的自动构建。测试了一下，这对android项目没啥影响，反正部署和运行android的项目，它自带的编译器还是要工作的。</p>
<p>最后一个问题，要能在工作机上打包debug签名的APK包，在服务器端，比如ubuntu server端，不借助eclipse环境下，通过服务器端全局设置，打包release签名的正式APK包。这里有个要求，pom.xml文件是一致的，在工作机上和在服务器上。不一样的是maven的settings.xml文件。</p>
<p>我把自己的GolfDemo生成了这样的项目，源代码见：</p>
<blockquote><p><a href="http://easymorse.googlecode.com/svn/tags/GolfDemo-1.2/">http://easymorse.googlecode.com/svn/tags/GolfDemo-1.2/</a></p>
</blockquote>
<p>主要看pom.xml文件。</p>
<blockquote><pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
	xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0

http://maven.apache.org/maven-v4_0_0.xsd&quot;&gt;

	&lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
	&lt;groupId&gt;com.easymorse&lt;/groupId&gt;
	&lt;artifactId&gt;GolfDemo&lt;/artifactId&gt;
	&lt;version&gt;1.2&lt;/version&gt;
	&lt;packaging&gt;apk&lt;/packaging&gt;
	&lt;name&gt;GolfDemo&lt;/name&gt;

	&lt;dependencies&gt;
		&lt;dependency&gt;
			&lt;groupId&gt;android&lt;/groupId&gt;
			&lt;artifactId&gt;android&lt;/artifactId&gt;
			&lt;version&gt;2.1_r1&lt;/version&gt;
			&lt;scope&gt;provided&lt;/scope&gt;
		&lt;/dependency&gt;
		&lt;dependency&gt;
			&lt;groupId&gt;com.thoughtworks.xstream&lt;/groupId&gt;
			&lt;artifactId&gt;xstream&lt;/artifactId&gt;
			&lt;version&gt;1.3.1&lt;/version&gt;
		&lt;/dependency&gt;
	&lt;/dependencies&gt;

	&lt;build&gt;
		&lt;sourceDirectory&gt;src&lt;/sourceDirectory&gt;
		&lt;plugins&gt;
			&lt;plugin&gt;
				&lt;groupId&gt;
					com.jayway.maven.plugins.android.generation2
                  &lt;/groupId&gt;
				&lt;artifactId&gt;maven-android-plugin&lt;/artifactId&gt;
				&lt;version&gt;2.3.3&lt;/version&gt;
				&lt;configuration&gt;
					&lt;sdk&gt;
						&lt;path&gt;${env.ANDROID_HOME}&lt;/path&gt;
						&lt;platform&gt;7&lt;/platform&gt;
					&lt;/sdk&gt;
					&lt;deleteConflictingFiles&gt;true&lt;/deleteConflictingFiles&gt;
				&lt;/configuration&gt;
				&lt;extensions&gt;true&lt;/extensions&gt;
			&lt;/plugin&gt;
			&lt;plugin&gt;
				&lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
				&lt;configuration&gt;
					&lt;source&gt;1.6&lt;/source&gt;
					&lt;target&gt;1.6&lt;/target&gt;
				&lt;/configuration&gt;
			&lt;/plugin&gt;
		&lt;/plugins&gt;
	&lt;/build&gt;
	&lt;profiles&gt;
		&lt;profile&gt;
			&lt;id&gt;sign&lt;/id&gt;
			&lt;build&gt;
				&lt;plugins&gt;
					&lt;plugin&gt;
						&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
						&lt;artifactId&gt;maven-jarsigner-plugin&lt;/artifactId&gt;
						&lt;version&gt;1.2&lt;/version&gt;
						&lt;executions&gt;
							&lt;execution&gt;
								&lt;id&gt;signing&lt;/id&gt;
								&lt;goals&gt;
									&lt;goal&gt;sign&lt;/goal&gt;
								&lt;/goals&gt;
								&lt;phase&gt;package&lt;/phase&gt;
								&lt;inherited&gt;true&lt;/inherited&gt;
								&lt;configuration&gt;
									&lt;archiveDirectory&gt;&lt;/archiveDirectory&gt;
									&lt;includes&gt;
										&lt;include&gt;target/*.apk&lt;/include&gt;
									&lt;/includes&gt;
									&lt;keystore&gt;${keyFilePath}&lt;/keystore&gt;
									&lt;storepass&gt;${storePassword}&lt;/storepass&gt;
									&lt;keypass&gt;${keyPassword}&lt;/keypass&gt;
									&lt;alias&gt;${keyAlias}&lt;/alias&gt;
								&lt;/configuration&gt;
							&lt;/execution&gt;
						&lt;/executions&gt;
					&lt;/plugin&gt;
					&lt;plugin&gt;
						&lt;groupId&gt;com.jayway.maven.plugins.android.generation2&lt;/groupId&gt;
						&lt;artifactId&gt;maven-android-plugin&lt;/artifactId&gt;
						&lt;inherited&gt;true&lt;/inherited&gt;
						&lt;configuration&gt;
							&lt;sign&gt;
								&lt;debug&gt;false&lt;/debug&gt;
							&lt;/sign&gt;
						&lt;/configuration&gt;
					&lt;/plugin&gt;
				&lt;/plugins&gt;
			&lt;/build&gt;
		&lt;/profile&gt;
	&lt;/profiles&gt;
&lt;/project&gt;</pre>
<p>&#160;</p>
</blockquote>
<p>这个项目，如果这样：</p>
<blockquote>
<p><font style="background-color: #ffffff">mvn clean install</font></p>
</blockquote>
<p>将生成debug签名的APK包，如果：</p>
<blockquote>
<p><font style="background-color: #ffffff">mvn clean install android:deploy</font></p>
</blockquote>
<p>将会生成debug签名包，然后部署到手机设备上。</p>
<p>如果：</p>
<blockquote>
<p><font style="background-color: #ffffff">mvn clean install –Psign</font></p>
</blockquote>
<p>将会激活pom.xml文件中的id为sign的profile，即使用正式签名的插件配置信息，这里的配置信息，比如密码，签名文件路径等，都是属性变量，需要在用户的settings.xml文件中设置。比如：</p>
<blockquote>
<p>&lt;settings xmlns=&quot;<a href="http://maven.apache.org/SETTINGS/1.0.0&quot;">http://maven.apache.org/SETTINGS/1.0.0&quot;</a></p>
<p>&#160;&#160;&#160; xmlns:xsi=&quot;<a href="http://www.w3.org/2001/XMLSchema-instance&quot;">http://www.w3.org/2001/XMLSchema-instance&quot;</a></p>
<p>&#160;&#160;&#160; xsi:schemaLocation=&quot;<a href="http://maven.apache.org/SETTINGS/1.0.0">http://maven.apache.org/SETTINGS/1.0.0</a></p>
<p><a href="http://maven.apache.org/xsd/settings-1.0.0.xsd&quot;">http://maven.apache.org/xsd/settings-1.0.0.xsd&quot;</a>&gt;</p>
<p>&#160;&#160;&#160; &lt;profiles&gt;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;profile&gt;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;id&gt;sign&lt;/id&gt;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;properties&gt;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;keyFilePath&gt;/Users/user_name/key/your.release.keystore&lt;/keyFilePath&gt;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;storePassword&gt;your_password&lt;/storePassword&gt;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;keyPassword&gt;your_password&lt;/keyPassword&gt;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;keyAlias&gt;your_alias&lt;/keyAlias&gt;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/properties&gt;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/profile&gt;</p>
<p>&#160;&#160;&#160; &lt;/profiles&gt;</p>
<p>&lt;/settings&gt;</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://marshal.easymorse.com/archives/2736/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关注m2eclipse集成android的eclipse插件bug</title>
		<link>http://marshal.easymorse.com/archives/2732</link>
		<comments>http://marshal.easymorse.com/archives/2732#comments</comments>
		<pubDate>Fri, 30 Apr 2010 14:59:10 +0000</pubDate>
		<dc:creator>Marshal</dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[m2eclipse]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://marshal.easymorse.com/archives/2732</guid>
		<description><![CDATA[在maven集成eclipse和android adt插件 中提到一个问题，eclipse项目改动后，会无限循环构建。在这里找到出处了：

http://code.google.com/p/m2eclipse-android-integration/issues/detail?id=6

是一个bug，目前还在排查中。
问题可能出在android项目构建的时候，改动了某个文件，而这个文件又触发android项目重新构建。
等待作者纠正这个bug。
]]></description>
			<content:encoded><![CDATA[<p>在<a href="http://marshal.easymorse.com/archives/2728" title="maven集成eclipse和android adt插件">maven集成eclipse和android adt插件</a> 中提到一个问题，eclipse项目改动后，会无限循环构建。在这里找到出处了：</p>
<blockquote>
<p><a href="http://code.google.com/p/m2eclipse-android-integration/issues/detail?id=6">http://code.google.com/p/m2eclipse-android-integration/issues/detail?id=6</a></p>
</blockquote>
<p>是一个bug，目前还在排查中。</p>
<p>问题可能出在android项目构建的时候，改动了某个文件，而这个文件又触发android项目重新构建。</p>
<p>等待作者纠正这个bug。</p>
]]></content:encoded>
			<wfw:commentRss>http://marshal.easymorse.com/archives/2732/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>maven集成eclipse和android adt插件</title>
		<link>http://marshal.easymorse.com/archives/2728</link>
		<comments>http://marshal.easymorse.com/archives/2728#comments</comments>
		<pubDate>Thu, 29 Apr 2010 09:29:31 +0000</pubDate>
		<dc:creator>Marshal</dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[maven deploy]]></category>

		<guid isPermaLink="false">http://marshal.easymorse.com/archives/2728</guid>
		<description><![CDATA[多个工具集成，会造成很大风险，稍有不慎，就会造成问题。原来希望通过工具节约时间，提高生产效率，却因为不可预期的问题耽误时间。
在［cref 2717］中希望能提高开发的自动化，实现人员角色的分工，但是测试不彻底，android和maven是集成了，但是在使用eclipse和adt插件的时候又发现了问题：

gen目录：adt不能生成gen目录，这样R类就无法生成；
手工做了一些配置，想映射到target中的对应目录下，也不完美，因为这样就不好用到adt插件了；
无法利用adt插件run android application了。

maven-android-plugin还不完善，虽然有电子文档，但是有的对不上，比如版本。 只好一个一个的看它wiki文档和下面的跟贴。
终于找到一个作者写的m2eclipse-android-integration，可以比较完美的实现这些工具的集成：

http://code.google.com/p/m2eclipse-android-integration/

下面说说实现的步骤，这里用我的GolfDemo作为示例。

做之前的准备
安装m2eclipse和m2eclipse-android-integration，这两个都是eclipse插件。
m2eclipse是maven的eclipse插件，网址：

http://m2eclipse.sonatype.org/

可以通过这个链接在eclipse下在线安装：

http://m2eclipse.sonatype.org/sites/m2e

即：

然后安装m2eclipse-android-integration，安装地址：

http://m2eclipse-android-integration.googlecode.com/svn/trunk/com.byluroid.eclipse.maven.android.update/

eclipse通过svn获取代码
利用eclipse的导入功能：

然后，使用这个：

http://easymorse.googlecode.com/svn/tags/GolfDemo-1.1/

导入项目：

然后完成（finish）即可。
创建java项目
下载完代码后，会连带出现创建新项目对话框，这里要选择java project：

然后，按照要求填写（随意）项目名称（project name），注意这里要选择j2se-1.5，在jre部分。

选择完成（finish）即可。这时才会从svn下载代码。
完成后，会有报错，不用管它。
配置m2eclipse插件
让项目和m2eclipse集成，即，启用依赖管理（enable dependency management）:

这一步完成后，可以看到项目已经没有报错了，而且依赖的包也都是使用maven repository的了。而且，和adt是和平共处的。

不过，console中可能有报错，而且console中的任务可能不停的执行，这些都是我碰到的。不用管它，把任务停掉就可以了。
报错类似这样：
 到progress中停掉任务即可。

然后，再做一下maven配置的更新：

这时，就可以通过run as &#8230; 》android application在手机上运行项目了。
]]></description>
			<content:encoded><![CDATA[<p>多个工具集成，会造成很大风险，稍有不慎，就会造成问题。原来希望通过工具节约时间，提高生产效率，却因为不可预期的问题耽误时间。</p>
<p>在［cref 2717］中希望能提高开发的自动化，实现人员角色的分工，但是测试不彻底，android和maven是集成了，但是在使用eclipse和adt插件的时候又发现了问题：</p>
<ul>
<li>gen目录：adt不能生成gen目录，这样R类就无法生成；</li>
<li>手工做了一些配置，想映射到target中的对应目录下，也不完美，因为这样就不好用到adt插件了；</li>
<li>无法利用adt插件run android application了。</li>
</ul>
<p>maven-android-plugin还不完善，虽然有<a href="http://www.sonatype.com/books/mvnref-book/reference/android-dev.html">电子文档</a>，但是有的对不上，比如版本。 只好一个一个的看它wiki文档和下面的跟贴。</p>
<p>终于找到一个作者写的m2eclipse-android-integration，可以比较完美的实现这些工具的集成：</p>
<blockquote>
<p><a href="http://code.google.com/p/m2eclipse-android-integration/">http://code.google.com/p/m2eclipse-android-integration/</a></p>
</blockquote>
<p>下面说说实现的步骤，这里用我的GolfDemo作为示例。</p>
<p><span id="more-2728"></span></p>
<p><b>做之前的准备</b></p>
<p>安装m2eclipse和m2eclipse-android-integration，这两个都是eclipse插件。</p>
<p>m2eclipse是maven的eclipse插件，网址：</p>
<blockquote>
<p><a href="http://m2eclipse.sonatype.org/">http://m2eclipse.sonatype.org/</a></p>
</blockquote>
<p>可以通过这个链接在eclipse下在线安装：</p>
<blockquote>
<p>http://m2eclipse.sonatype.org/sites/m2e</p>
</blockquote>
<p>即：</p>
<p><img src="http://marshal.easymorse.com/wp-content/uploads/2010/04/屏幕快照-2010-04-29-下午05.24.36.jpg" width="480" height="313" alt="屏幕快照 2010-04-29 下午05.24.36.png" /></p>
<p>然后安装m2eclipse-android-integration，安装地址：</p>
<blockquote>
<p>http://m2eclipse-android-integration.googlecode.com/svn/trunk/com.byluroid.eclipse.maven.android.update/</p>
</blockquote>
<p><b>eclipse通过svn获取代码</b></p>
<p>利用eclipse的导入功能：</p>
<p><img src="http://marshal.easymorse.com/wp-content/uploads/2010/04/屏幕快照-2010-04-29-下午04.59.32.jpg" width="480" height="364" alt="屏幕快照 2010-04-29 下午04.59.32.png" /></p>
<p>然后，使用这个：</p>
<blockquote>
<p><a href="http://easymorse.googlecode.com/svn/tags/GolfDemo-1.1/">http://easymorse.googlecode.com/svn/tags/GolfDemo-1.1/</a></p>
</blockquote>
<p>导入项目：<br />
<img src="http://marshal.easymorse.com/wp-content/uploads/2010/04/屏幕快照-2010-04-29-下午05.04.52.jpg" width="480" height="230" alt="屏幕快照 2010-04-29 下午05.04.52.png" /></p>
<p>然后完成（finish）即可。<br />
<b><br /></b><b>创建java项目</b></p>
<p>下载完代码后，会连带出现创建新项目对话框，这里要选择java project：<br />
<img src="http://marshal.easymorse.com/wp-content/uploads/2010/04/屏幕快照-2010-04-29-下午05.07.02.jpg" width="399" height="346" alt="屏幕快照 2010-04-29 下午05.07.02.png" /></p>
<p>然后，按照要求填写（随意）项目名称（project name），注意这里要选择j2se-1.5，在jre部分。</p>
<p><img src="http://marshal.easymorse.com/wp-content/uploads/2010/04/屏幕快照-2010-04-29-下午05.07.52.jpg" width="480" height="306" alt="屏幕快照 2010-04-29 下午05.07.52.png" /></p>
<p>选择完成（finish）即可。这时才会从svn下载代码。</p>
<p>完成后，会有报错，不用管它。<br />
<b><br /></b><b>配置m2eclipse插件</b></p>
<p>让项目和m2eclipse集成，即，启用依赖管理（enable dependency management）:</p>
<p><img src="http://marshal.easymorse.com/wp-content/uploads/2010/04/屏幕快照-2010-04-29-下午05.13.03.jpg" width="480" height="121" alt="屏幕快照 2010-04-29 下午05.13.03.png" /></p>
<p>这一步完成后，可以看到项目已经没有报错了，而且依赖的包也都是使用maven repository的了。而且，和adt是和平共处的。</p>
<p><img src="http://marshal.easymorse.com/wp-content/uploads/2010/04/屏幕快照-2010-04-29-下午05.15.24.jpg" width="253" height="259" alt="屏幕快照 2010-04-29 下午05.15.24.png" /></p>
<p>不过，console中可能有报错，而且console中的任务可能不停的执行，这些都是我碰到的。不用管它，把任务停掉就可以了。</p>
<p>报错类似这样：</p>
<p><img src="http://marshal.easymorse.com/wp-content/uploads/2010/04/屏幕快照-2010-04-29-下午05.16.39.jpg" width="480" height="208" alt="屏幕快照 2010-04-29 下午05.16.39.png" /> 到progress中停掉任务即可。</p>
<p><img src="http://marshal.easymorse.com/wp-content/uploads/2010/04/屏幕快照-2010-04-29-下午05.17.35.jpg" width="480" height="70" alt="屏幕快照 2010-04-29 下午05.17.35.png" /></p>
<p>然后，再做一下maven配置的更新：</p>
<p><img src="http://marshal.easymorse.com/wp-content/uploads/2010/04/屏幕快照-2010-04-29-下午05.18.25.jpg" width="480" height="168" alt="屏幕快照 2010-04-29 下午05.18.25.png" /></p>
<p>这时，就可以通过run as &#8230; 》android application在手机上运行项目了。</p>
]]></content:encoded>
			<wfw:commentRss>http://marshal.easymorse.com/archives/2728/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>安装gwt环境，编写最简单示例</title>
		<link>http://marshal.easymorse.com/archives/2128</link>
		<comments>http://marshal.easymorse.com/archives/2128#comments</comments>
		<pubDate>Tue, 29 Dec 2009 11:00:31 +0000</pubDate>
		<dc:creator>Marshal</dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://marshal.easymorse.com/archives/2128</guid>
		<description><![CDATA[gwt逐渐显现它的优势，目前发展到2.0版本，已经比较成熟。如果再加上html5标签，将来应该可以逐步替代flash/flex。
gwt只依赖浏览器，编写代码可繁可简，适合于从企业应用系统到互联网应用系统。
如果借助比如smartgwt，见（http://www.smartclient.com/smartgwt/showcase），应该可以满足富客户端的企业应用系统。
针对互联网应用，尤其是即将发展起来的移动互联网应用，我的体会是繁杂的web页面，不适合在手机端（android和iphone）显示，而简明的带交互功能的界面十分受欢迎，比如google reader。
安装gwt，如果是基于eclipse，这个步骤十分简单。这里使用的eclipse 3.5.1，安装gwt插件：
http://dl.google.com/eclipse/plugin/3.5

 
然后，就可以创建web application project。
创建完项目后，实际上已经包括了一个简单的应用。通过如下方式运行：
 
执行后，会在eclipse界面下看到这个：
 
复制连接到浏览器中访问，记住，如果是在ubuntu下，只能使用firefox，在windows下，可以使用ie、firefox、chrome、safari。
第一次在浏览器里面访问，浏览器会提示安装插件。
然后再次访问，就可以看到类似这样的界面：
 
点击发送按钮，会显示：
 
从简单的示例中可以发现，使用了ajax异步与服务器通信，得到对话框中的内容。
另外，本示例对原示例做了部分的翻译工作，因此看到的是中文提示。这些都不需要重新启动应用。
本文参考：
http://code.google.com/intl/zh-CN/webtoolkit/usingeclipse.html

]]></description>
			<content:encoded><![CDATA[<p>gwt逐渐显现它的优势，目前发展到2.0版本，已经比较成熟。如果再加上html5标签，将来应该可以逐步替代flash/flex。</p>
<p>gwt只依赖浏览器，编写代码可繁可简，适合于从企业应用系统到互联网应用系统。</p>
<p>如果借助比如smartgwt，见（<a title="http://www.smartclient.com/smartgwt/showcase" href="http://www.smartclient.com/smartgwt/showcase">http://www.smartclient.com/smartgwt/showcase</a>），应该可以满足富客户端的企业应用系统。</p>
<p>针对互联网应用，尤其是即将发展起来的移动互联网应用，我的体会是繁杂的web页面，不适合在手机端（android和iphone）显示，而简明的带交互功能的界面十分受欢迎，比如google reader。</p>
<p>安装gwt，如果是基于eclipse，这个步骤十分简单。这里使用的eclipse 3.5.1，安装gwt插件：</p>
<blockquote><p><a href="http://dl.google.com/eclipse/plugin/3.5">http://dl.google.com/eclipse/plugin/3.5</a></p>
</blockquote>
<p> <span id="more-2128"></span>
<p>然后，就可以创建web application project。</p>
<p>创建完项目后，实际上已经包括了一个简单的应用。通过如下方式运行：</p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2009/12/image27.png" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2009/12/image_thumb27.png" width="415" height="117" /></a> </p>
<p>执行后，会在eclipse界面下看到这个：</p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2009/12/image28.png" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2009/12/image_thumb28.png" width="460" height="134" /></a> </p>
<p>复制连接到浏览器中访问，记住，如果是在ubuntu下，只能使用firefox，在windows下，可以使用ie、firefox、chrome、safari。</p>
<p>第一次在浏览器里面访问，浏览器会提示安装插件。</p>
<p>然后再次访问，就可以看到类似这样的界面：</p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2009/12/image29.png" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2009/12/image_thumb29.png" width="354" height="257" /></a> </p>
<p>点击发送按钮，会显示：</p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2009/12/image30.png" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2009/12/image_thumb30.png" width="358" height="340" /></a> </p>
<p>从简单的示例中可以发现，使用了ajax异步与服务器通信，得到对话框中的内容。</p>
<p>另外，本示例对原示例做了部分的翻译工作，因此看到的是中文提示。这些都不需要重新启动应用。</p>
<p>本文参考：</p>
<blockquote><p><a href="http://code.google.com/intl/zh-CN/webtoolkit/usingeclipse.html">http://code.google.com/intl/zh-CN/webtoolkit/usingeclipse.html</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://marshal.easymorse.com/archives/2128/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>导入和安装android ApiDemos</title>
		<link>http://marshal.easymorse.com/archives/2067</link>
		<comments>http://marshal.easymorse.com/archives/2067#comments</comments>
		<pubDate>Tue, 15 Dec 2009 07:41:59 +0000</pubDate>
		<dc:creator>Marshal</dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://marshal.easymorse.com/archives/2067</guid>
		<description><![CDATA[android ApiDemos是很基本的各种api调用的官方示例。一般安装在下面目录下，比如是1.5版本的：
platforms/android-1.5/samples/ApiDemos

基本次序是，先导入到eclipse里面生成android项目，以后再部署安装到真机下就很容易了。
导入eclipse，参见共享eclipse android项目的步骤，选中上述的目录就可以了。
]]></description>
			<content:encoded><![CDATA[<p>android ApiDemos是很基本的各种api调用的官方示例。一般安装在下面目录下，比如是1.5版本的：</p>
<blockquote><p>platforms/android-1.5/samples/ApiDemos</p>
</blockquote>
<p>基本次序是，先导入到eclipse里面生成android项目，以后再部署安装到真机下就很容易了。</p>
<p>导入eclipse，参见<a href="http://marshal.easymorse.com/archives/1663" title="共享eclipse android项目的步骤">共享eclipse android项目的步骤</a>，选中上述的目录就可以了。</p>
]]></content:encoded>
			<wfw:commentRss>http://marshal.easymorse.com/archives/2067/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在eclipse下debug功能单步调试android程序</title>
		<link>http://marshal.easymorse.com/archives/2066</link>
		<comments>http://marshal.easymorse.com/archives/2066#comments</comments>
		<pubDate>Tue, 15 Dec 2009 01:27:11 +0000</pubDate>
		<dc:creator>Marshal</dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[andriod]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://marshal.easymorse.com/archives/2066</guid>
		<description><![CDATA[在android真机下，使用eclipse的debug功能，效果非常好，速度也很快，就像调试本地的应用程序一样。

]]></description>
			<content:encoded><![CDATA[<p>在android真机下，使用eclipse的debug功能，效果非常好，速度也很快，就像调试本地的应用程序一样。</p>
<p><a href="http://marshal.easymorse.com/wp-content/uploads/2009/12/image12.png" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2009/12/image_thumb12.png" width="433" height="273" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://marshal.easymorse.com/archives/2066/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>手工解决maven项目在eclipse中不能加载类的问题</title>
		<link>http://marshal.easymorse.com/archives/1780</link>
		<comments>http://marshal.easymorse.com/archives/1780#comments</comments>
		<pubDate>Mon, 09 Nov 2009 04:08:39 +0000</pubDate>
		<dc:creator>Marshal</dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://marshal.easymorse.com/archives/1780</guid>
		<description><![CDATA[升级到eclipse 3.5后，发现和以前maven配置文件相同情况下，无法加载maven中设置的aspectj库。配置片段如下：
&#60;dependency&#62;&#160;&#160;&#160; &#60;groupId&#62;org.aspectj&#60;/groupId&#62;&#160;&#160;&#160; &#60;artifactId&#62;aspectjrt&#60;/artifactId&#62;&#160;&#160;&#160; &#60;version&#62;1.5.4&#60;/version&#62;&#60;/dependency&#62;&#60;dependency&#62;&#160;&#160;&#160; &#60;groupId&#62;org.aspectj&#60;/groupId&#62;&#160;&#160;&#160; &#60;artifactId&#62;aspectjweaver&#60;/artifactId&#62;&#160;&#160;&#160; &#60;version&#62;1.5.4&#60;/version&#62;&#60;/dependency&#62;
&#160;

maven打包文件中包含aspectj的类库，初步排除maven问题。怀疑是eclipse 3.5中出现的问题，不过还有待测试，手里没有eclipse 3.4了。
 
没有找到很好的办法解决这个问题，先用手工加载的方式解决，以下方式是副作用最小的解决办法，用手工的方式模拟maven生成类库文件。选择项目属性（properties），然后，build path，选择config build path，然后：
 
然后：
 
将出现maven目录，选择所需加载的jar文件即可。
]]></description>
			<content:encoded><![CDATA[<p>升级到eclipse 3.5后，发现和以前maven配置文件相同情况下，无法加载maven中设置的aspectj库。配置片段如下：</p>
<blockquote><p>&lt;dependency&gt;<br />&nbsp;&nbsp;&nbsp; &lt;groupId&gt;org.aspectj&lt;/groupId&gt;<br />&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;aspectjrt&lt;/artifactId&gt;<br />&nbsp;&nbsp;&nbsp; &lt;version&gt;1.5.4&lt;/version&gt;<br />&lt;/dependency&gt;<br />&lt;dependency&gt;<br />&nbsp;&nbsp;&nbsp; &lt;groupId&gt;org.aspectj&lt;/groupId&gt;<br />&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;aspectjweaver&lt;/artifactId&gt;<br />&nbsp;&nbsp;&nbsp; &lt;version&gt;1.5.4&lt;/version&gt;<br />&lt;/dependency&gt;
<p>&nbsp;</p>
</blockquote>
<p>maven打包文件中包含aspectj的类库，初步排除maven问题。怀疑是eclipse 3.5中出现的问题，不过还有待测试，手里没有eclipse 3.4了。</p>
<p> <span id="more-1780"></span>
<p>没有找到很好的办法解决这个问题，先用手工加载的方式解决，以下方式是副作用最小的解决办法，用手工的方式模拟maven生成类库文件。选择项目属性（properties），然后，build path，选择config build path，然后：</p>
<p><a rel="lightbox" href="http://marshal.easymorse.com/wp-content/uploads/2009/11/image11.png"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2009/11/image_thumb11.png" width="344" height="139"></a> </p>
<p>然后：</p>
<p><a rel="lightbox" href="http://marshal.easymorse.com/wp-content/uploads/2009/11/image12.png"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2009/11/image_thumb12.png" width="342" height="139"></a> </p>
<p>将出现maven目录，选择所需加载的jar文件即可。</p>
]]></content:encoded>
			<wfw:commentRss>http://marshal.easymorse.com/archives/1780/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在eclipse下快速查看android javadoc方法</title>
		<link>http://marshal.easymorse.com/archives/1747</link>
		<comments>http://marshal.easymorse.com/archives/1747#comments</comments>
		<pubDate>Tue, 03 Nov 2009 06:35:45 +0000</pubDate>
		<dc:creator>Marshal</dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://marshal.easymorse.com/archives/1747</guid>
		<description><![CDATA[eclipse里面有快速查看javadoc的方法，但是我一般还是习惯单独开个浏览器看Javadoc。现在做android开发，android的官方开发者网站无法访问，开在线的javadoc不是很方便。有三个解决办法：

看android SDK解压缩的本地文档，在${android-sdk}/docs/reference目录下；
通过其他android文档镜像站，比如：http://androidappdocs.appspot.com/reference/packages.html
通过eclipse自带的功能使用本地的javadoc，还是比较方便的。

步骤是，eclipse中，鼠标停在需要查阅文档的类上，会出现如下小窗口，点击expand：
 
就可以在打开的浏览器中看到该类的javadoc文档。
 
或者，点击@按钮：
 
将在eclipse的javadoc窗口中出现浏览结果：

]]></description>
			<content:encoded><![CDATA[<p>eclipse里面有快速查看javadoc的方法，但是我一般还是习惯单独开个浏览器看Javadoc。现在做android开发，android的官方开发者网站无法访问，开在线的javadoc不是很方便。有三个解决办法：</p>
<ol>
<li>看android SDK解压缩的本地文档，在${android-sdk}/docs/reference目录下；
<li>通过其他android文档镜像站，比如：<a href="http://androidappdocs.appspot.com/reference/packages.html">http://androidappdocs.appspot.com/reference/packages.html</a>
<li>通过eclipse自带的功能使用本地的javadoc，还是比较方便的。</li>
</ol>
<p>步骤是，eclipse中，鼠标停在需要查阅文档的类上，会出现如下小窗口，点击expand：</p>
<p><a rel="lightbox" href="http://marshal.easymorse.com/wp-content/uploads/2009/11/image.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2009/11/image_thumb.png" width="397" height="198"></a> </p>
<p>就可以在打开的浏览器中看到该类的javadoc文档。</p>
<p> <span id="more-1747"></span>
<p>或者，点击@按钮：</p>
<p><a rel="lightbox" href="http://marshal.easymorse.com/wp-content/uploads/2009/11/image1.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2009/11/image_thumb1.png" width="275" height="257"></a> </p>
<p>将在eclipse的javadoc窗口中出现浏览结果：</p>
<p><a rel="lightbox" href="http://marshal.easymorse.com/wp-content/uploads/2009/11/image2.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://marshal.easymorse.com/wp-content/uploads/2009/11/image_thumb2.png" width="378" height="254"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://marshal.easymorse.com/archives/1747/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
