存档

文章标签 ‘eclipse’

各版本编译hadoop eclipse plugin

2011年11月16日 没有评论

最近一直在使用mapr版本的hadoop, 然后用的karmasphere 的eclipse plugin . 突然想找一个eclipse IDE 连接一下Cloudera 版本的方便一下操作,结果就悲剧了.

首先是各个版本的eclipse plugin 不兼容. 网上找的各种编译好的,自己编译的都是家家有本难念的经啊.什么Apache Hadoop 0.20.2 , Apache Hadoop 0.20.3 ,Apache Hadoop 0.20.5 ,Cloudera CDH CDH3 , CDHu1 , CDHu2 , eclipse 的各个版本不兼容. 花了几天的时间查看了网上的各种解决方法之后终于搞明白了到底每个版本怎么回事了.

首先,无论你的服务器上Hadoop 使用的是什么版本,你都需要下载对应的这个版本的源代码包进行编译. 你是Apache Hadoop 0.20.2 就去Apache 下0.20.2 的,你是Apache 0.21 版本的就去下0.21 版本的. 你是Cloudera CHDu.x 版本的,就去Cloudera 网站上下它的CDHu.x  版本对应的tar 包. 确保你要连接的服务器版本和你打算编译的eclipse-plugin版本是一致的.

在自己编译eclipse-plugin之前,你需要apache-ant, apache-maven, apache-ivy如果你打算编译整个包括hadoop的服务器版本并生成二进制包,你还需要apache-forrest 用来输出文档. ant,maven,forrest 的安装跟java 的安装没有区别,解压,然后添加对应的bin目录到path 变量. ivy 的安装就是添加一个apache-ivy-xxx.jar 到你的ant  安装目录下的lib 目录. 这些前提工具就算安装好了.

然后从命令行进入你解压的$hadoop_home 源代码目录, 执行ant compile-core , 这个会编译基础的hadoop-core 包. 注意如果你是在linux 下这个命令不会报错,但是如果你是windows 会报can’t run  program mvn , 在对应的build.xml 文件的42 行,你需要进入$Hadoop_home/build.xml 文件的42行,修改

         <exec  executable="mvn"  xxxxxxxxxxxxxxxxxxxxx

改成 <exec  executable="mvn.bat"  xxxxxxxxxxxxxxxxxx

如果你打算编译整个包的话对应的1230  行里面的forrest 在windows 下同样会出现这个错误.

阅读全文…

分类: Hadoop 标签: , ,

使用gwt 开发ajax 应用程序

2008年12月14日 没有评论

如果你使用eclipse IDE 开发gwt 应用程序,那么最好同时使用cypal 这个gwt 的eclipse 插件.

安装cypal

  http://code.google.com/p/cypal-studio/  下载cypal ,  你的eclipse 至少要是JEE 的开发环境, 它至少需要WTP 这个插件.   如果你是在3.4 下, 你可以直接把所有jar文件放在dropins 目录下, 或者在dropins 目录下建立Cypal/plugins 目录,然后把jar 文件放在下面, 如果第一次启动你在windows / preference 里面没有看到cypal 的设置, 你可以在命令行下用eclipse.exe clean 清理一下, 应该就能看到了.装好了cypal 之后在windows / preference 里面设置一下cypal , 指定gwt home .到你解压的gwt 目录.

 

创建GWT 程序

新建一个Dynamic Web Project , 在向导里面, dynamic web module version 选2.4 , 下面的configuration 里面就可以选到Cypal Studio for GWT , 选其他的dynamic web module version 不行(2.2 的话用的时gwt jdk1.4 的).  target runtime 可以不选, 也可以指定一个tomcat 或其他容器.

firstgwt10

 

创建一个GWT module .

创建好了project 之后 , 再新建一个GWT Module. 比如叫HelloGwt , 它当然要实现EntryPoint ,

package mypackage.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;

public class HelloGwt implements EntryPoint {

	public void onModuleLoad() {
		Label label = new Label("Hello GWT !!!");
		Button button = new Button("Say something");
		button.addClickListener(new ClickListener() {
			public void onClick(Widget sender) {
				Window.alert("Hello, again");
			}
		});

		RootPanel.get().add(label);
		RootPanel.get().add(button);
	}
}
firstgwt20 

firstgwt30

运行GWT 程序

你可以点击你的项目,然后Run -> Run Configurations , 然后选择 GWT Hosted Mode Application , 选择Project 和 Module 之后运行

或者你也可以右键点<module>.gwt.xml 文件, 对于这个项目来说就是 hello.gwt.xml 文件, 然后选择GWT Hosted Mode Application , 它会直接运行.

 

GWT 项目文件结构

创建一个GWT项目后,它的文件结构一般如下:

1. Module descriptor , 描述你的应用程序的EntryPoint

2. Public resources , 放HTML ,JS , CSS , image文件的地方

3. Source Code,  放你的Java 代码的地方

 

导入GWT 自带的示例

从cypal 里面可以导入gwt 自带的那几个示例项目. 在创建好的gwt 项目里面,点击New -> Example -> GWT Example , 然后在Sample 里面可以选择GWT 自带的那几个示例.

 

部署到其他容器

跟其他Web Project 一样, 部署到其他容器, 只需要在Server 里面添加一个新的runtime server . 然后选择你的GWT 项目,然后运行Run As –> Run on Server . 就可以了

 

打包成War 文件

你可以选择 File->Export->Export as war 将你的项目打包成War 文件以方便部署, 它其实就是把你的build/gwtOutput 下的文件打包 (这个位置是在Preference 里面设置的),

 

参考资料:

1 . http://www.vogella.de/articles/GWT/article.html

 

2 . http://www.cypal.in/studiodocs  

    cypal 的使用说明

3. http://www.ibm.com/developerworks/cn/opensource/os-eclipse-ajaxcypal/

    IBM 上一篇使用cypal 的文章,有点老了.

分类: AJAX, GWT 标签: , , ,