我们知道,在Grails项目中使用Grails类创建工具如“grails create-domain-class”等,能帮我们创建domain、service和controller等类及它们的测试类及其他。因此,我们在Grails项目中常常是使用这些工具帮我们创建各种类,而不是直接动手去创建它们。前面,我们已经动手将Grails项目集成到了Eclipse里来,那么,在Eclipse开发平台上,我们又该如何创建这些对象呢?
在Grails官方网站上,对此有一段说明,详细的描述了如何在Eclipse上使用这些工具,我将这段内容贴在下面:
你可以将grails配置为一个外部工具(External Tool), 然后就可以创建域对象了,在eclipse里:
1.选择"Run > External Tools > External Tools...";
2.输入一个名字,例如:Grails;
3.在文件系统里找到grails.bat(或者*nix下的grails);
4.将工作目录设置为 ${project_loc};
5.参数设置为 ${string_prompt};
6.在Refresh这个tab里设置"Refresh resources upon completion"为 "project containing the selected resource";
7.在Common里, 在 "Display in favorites menu"里选中现在你可以选择External Tool后面的下拉按钮(就是比运行多一个小箱子那个图标),选择Grails,
例如:
1.在External Tools的下拉列表里选择 Grails ;
2.在弹出的对话框里输入create-domain-class ;
3.在控制台窗口中根据提示完成命令;
4.在grails-app/domain中打开新创建的类。
上面的蓝色字体的这段话,以创建一个domain类为例子,详细的说明了如何使用Eclipse工具来创建Grails项目的各种类。
但是,上面的工作仍然是粗糙的,因为我们要创建一个domain类或者其他的类,需要四步左右才能完成:
第一步是选择“Grails”按钮
第二步是输入“create-domain-class”命令
第三步是输入例如“User”这样的类名
第四步点击“ok”
基于这样的原因,我对上面的工具进行了改造。
首先,我需要一个“create-domain-class”按钮,而不是简单的“Grails”按钮,这样,我点击“create-domain-class”按钮,它能直接为我生成domain类。工具的创建步骤如下:
1、选择"Run > External Tools > External Tools...";
2、输入一个名字,create-domain-class;
3、在文件系统里找到grails.bat(或者*nix下的grails);
4、将工作目录设置为 ${project_loc};
5、参数设置为create-domain-class ${string_prompt};
6、在Refresh这个tab里设置"Refresh resources upon completion"为 "project containing the selected resource";
7、在Common里, 在 "Display in favorites menu"里选中
可以看到,与官方提供的方法不同在于红色标出的第二步和第五步。如下图:
这样,我们需要创建一个domain类的话,只需要下面的步骤:
第一步是点击“create-domain-class”按钮
第二步是输入“User”类名
第三步是点击“ok”
这样就不需要我们去记忆那些“create-domain-class”或者“create-service”或者其他命令,同时也为我们省了一个步骤。
同样的方法,我们可以生成“create-service”命令、“create-controller”和“generate-all”等命令。
通过上面的方法,我们已经在Eclipse平台将Grails命令做了一个简化,但是仍然不能满足我的要求。因为在我们实际的项目中,我们需要将形如“User”这样的类放在一个个包里,如“com.windflower.oa.login”这样的包。
在Grails的官方网站,告诉我们,使用“create-domain-class”命令生成“User”类以后,将该类转移到形如“com.windflower.oa.login”这样的包里。这样的方法显然是有点复杂了。我们也可以通过上面的Eclipse工具来给我们帮忙:
1、选择"Run > External Tools > External Tools...";
2、输入一个名字,create-domain-class;
3、在文件系统里找到grails.bat(或者*nix下的grails);
4、将工作目录设置为 ${project_loc};
5、参数设置为create-domain-class com.windflower.oa.${string_prompt};
6、在Refresh这个tab里设置"Refresh resources upon completion"为 "project containing the selected resource";
7、在Common里, 在 "Display in favorites menu"里选中
可以看到,与上面的方法不同在于红色标出的第五步,在第五步里加入了包名。这样,我们使用如下的步骤创建带包名的类了:
第一步是点击“create-domain-class”按钮
第二步是输入“login.User”类名
第三步是点击“ok”
这样就可以生成“com.windflower.oa.login.User”类了。
同样的方法,我们可以生成“create-service”命令、“create-controller”和“generate-all”等命令为各种类带上包名。
转载自:
http://blog.csdn.net/hivon/archive/2008/04/13/2288770.aspx
杰森
邮箱:json.shen(at)gmail.com
网站:www.shenjia.org
posted on 2008-05-15 16:54
杰森 阅读(468)
评论(1) 编辑 收藏 所属分类:
Groovy&Grails