• 【Make My Eclipse】之 使用正确的插件


      这次升级到eclipse到juno版本,趁机整理了常用的eclipse plugin,目标是为了让开发人员尽可能把工作环境集中在eclipse上,而不用打开各式各样的文档编辑器或一堆其他别的软件。由于开发过程中每个团队使用的软件各不相同,因此本文更多的是一个在eclipse集成思路,不同团队可以根据自己的需要集成与本文不同的插件。

         这里先说明本团队的开发集成环境

    版本控制:egit

    aop(部分):aspectj

    项目控制:maven

    bug管理:jira

    web中间件:tomcat

    中间件热布署加强:jrebel

    关系数据库:MySQL

    NoSQL:MongoDB

    页面实现:FreeMarker

    主体框架:Spring+Struts

    集成发布:jenkins

    其他项目属性及目标:

    字符集:UTF-8

    目标1:代码快速生成Spring+Struts

    目标2:集成链接jenkins、jira,在eclipse即时管理bug,修复bug;在eclipse即时集成发布。

    目标3:在eclipse里完成数据库设计,链接数据库及相关数据操作。

    目标4:快速生成测试框架代码,持续集成测试(这个目标暂列未实现)

    一、版本控制,egit - http://download.eclipse.org/egit/updates

       git使用相对比较复杂,guide:http://wiki.eclipse.org/EGit/User_Guide

       (之所以把egit放在第一个位置,是因为在安装的过程中走了弯路:   在实际操作时随意安装了一些插件后,再安装egit plugin时,安装过程没有任何问题,但在eclipse界面里,egit怎么也出不来。无奈只好再次打开一个刚下载干净的eclipse,这次第一个先安装egit插件,问题解决。)为了不浪费时间,还是乖乖的第一个先装egit插件吧,虽然可能其他人不会出现这样的问题。

    二、aop实现,ajdt aspectj插件

    三、maven项目控制,m2eclipse maven插件

    四、bug管理跟踪,jira plugin 连接jira插件(也可以在mylyn connector discovery下安装)

    升级到juno并安装上述四步后先导入工程

    导入后pom.xml出错

    1、工程报错,需要依赖tools.jar 1.5版本,这跟eclipse升级后的启动初始有关系,解决办法:修改eclipse.ini文件,在-vmarg之前加上-vm

    D:javajdk1.6.0_17in

    重起eclipse发现问题得到解决,当然直接用命令的方式eclipse -vm "D:javajdk1.6.0_17in"也是一样的。另外一种办法就是在pom.xml文件加上这个依赖包。

    2、升级m2eclipse版本后,对以下语句不能编译通过

       <executions>

              <execution>

                 <id>compile and test-compile</id>

                 <goals>

                   <goal>compile</goal>

                   <goal>test-compile</goal>

                 </goals>

              </execution>

          </executions>

    用以下办法解决:

    Preferences->Maven->Discovery->Open Catalog选择安装m2e wtp。安装后根据错误提示,点击确定会自动加上一些m2e配置片段。

    然后maven->update project,错误消失。

     

    都正常后,把工程置为maven、aspect,正常连接git和jira,一切都正常了。接下来装tomcat插件

    五、热布署,jrebel http://zeroturnaround.com/software/jrebel/eclipse-jrebel-tutorial/

    六、tomcatplugin

    七、shell and folder plugin 可以快捷打开window cmd、linux和unix的terminal,快捷定位到文件的位置

           http://openextern.googlecode.com/svn/trunk/openextern_update/

          安装这个插件,可以通过这个插件打开的命令窗口并定位到目录。在我们的开发习惯里,自带的m2eclipse及egit插件与命令行相比,还是有要弱很多,因此在工作过程中,可以利用此插件,快速打开命令窗口并定位到要操作的目录。为了方便起见,先把mvn及git执行

         目录先设置到环境变量PATH里,这样在定位到目录后可直接执行命令。可以省下不少上下文操作时间。

    八、UTF-8编辑器,propertiese editor plugin

    九、Spring+Struts代码快速生成,fast-code for spring plugin  http://sourceforge.net/projects/fast- code/files/update/

          fastcode一定要注意其命名规则,之前的dao命名都被命名成XxxDao,而fastcode默认为XxxDAO,到fastcode配置里把默认的都改成DAO改成Dao,就我们的项目业务层,主要启用

       1、pojo生成,如果数据库使用mysql、oracle、postgresQL等关系型数据库,可以配置数据库链接,自动生成pojo;

          生成的java文件命名为TablenamePOJO.java,想改成直接命名Tablename.java,但找不到配置,只得生成

          TablenamePOJO.java后再重命名成Tablename.java。

       2、创建dao接口及实现类,通常关系型数据库与NoSQL数据库的父类BaseDao会分开写,因此这里继续哪个Dao需要在开发过程中自行设置。

          Dao命名按命名规则,中间字母不要出现大写。

          这里关系型数据库MySQL时Code In the Class(Body)配置,以下代码样例

    Java代码
          private static final Table T = new Table(
    			"${input.toLowerCase()}",
    			"",// to fill primary key,if composite key,use String[]
    			new String[] {
                             /* developer to fill data column */
    			}
    	);
    	
    	public static final ParameterizedRowMapper<${input}> map = new ParameterizedRowMapper<${input}>() {
    		public ${input} mapRow(ResultSet rs, int rowNum) throws SQLException {
    			${input} entity = new ${input}();
    			/* developer to set properties */
    			return entity;
    		}
    };
    
    public ${input} get(String uuid){
        return getJdbcTemplate().queryForObject(T.buildSqlSelect(" uuid = ? "),
    				map,
    				uuid
    		);
    }
    
    public void insert(${input} ${input.toLowerCase()}) {
    
    			getJdbcTemplate().update(T.getSqlInsert()/* developer to fill entity.getColumn*/);
    }
    
    public void update(${input} ${input.toLowerCase()}) {
    
    			getJdbcTemplate().update(T.getSqlUpdate()/* developer to fill entity.getColumn,last parameter is primary key*/);
    }
    
    public void delete(String uuid) {
    		getJdbcTemplate().update(T.buildSqlDelete("uuid = ?"), uuid);
    }
    
    public Result<${input}> getResult(/** to fill other parameters **/ int offset,int limit){
    	return null;
    }
    

      

       MongoDB使用以下配置

    Java代码 

       

    public ${input} get(String uuid){
        return super.get(uuid);
    }
    
    public void save${input}(${input} ${input.toLowerCase()}) {
    
    			super.save(${input.toLowerCase()});
    }
    public void delete(String uuid) {
    		super.deleteByQuery(createQuery().filter("uuid", uuid));
    }
    
    public Result<${input}> getResult(/** to fill other parameters **/ int offset,int limit){
    	return null;
    }
    

      

        这些代码只生成在DaoImpl.java里,Dao接口本身不能产生以上接口,还得花几秒钟的时间把以上代码拷到Dao接口代码里,

       然后Ctrl+F 输入Find:)[s]*{[^}]*} Replace with: );点Replace All,这样在接口里就有这5个默认的接口了。

       如果需要其他接口和实现,开发人员再自行新增。

       3、生成相似类,相似类从Dao接口生成Service接口及ServiceImpl

       4、从service生成action,默认是生成handler,修改配置后让忽略handler命名,直接生成action

       5、如果手动创建了dao接口,可以利用Create Similar Preference Different Name生成Dao实现类。(默认只能Dao接口生成对应的implements对象)

       6、插件还可以生成测试框架代码,使用过程中有点问题,暂不支持。

    十、freemarker plugin 在marketplace搜索freemarker,安装JBoss Tools(Indigo);非常庞大,选中其中的freemarker ide安装即可。

    十一、Hundson/Jenkins 

        mylyn的一个connector,安装的时候从mylyn connector discovery进入安装,但这个搜索非常不稳定,10次里只有一两次成功。

        mylyn把connector分成task repository、team repository。Hundson/Jenkins connector属于team repository。安装成功,不能通过

        Validate校验。原因是hundson connector对Jenkins 1.447之后的版本支持存在bug。目前只有一种解决办法把jenkins退回到1.447版本。

        另外新装的jenkins有几个插件必须装上

        Jenkins GIT plugin

        Deploy to container Plugin

        还有相关的SSH插件分不清是哪个,是SSH都勾上装了

    十二、MonjaDB -- mongodb client plugin

    十三、Database Designer(未破解)

    有了这两个数据库客户端插件,可以考虑不用安装数据库客户端软件,也可以直接用于设计关系型数据库,进一步脱离像powerdesigner及UML之类的软件。因为eclipse可以基于Windows、Mac及其他Linux操作系统,这样可以很好的移植开发环境。

    十四、更炫的风格选择,Eclipse Color Theme Plugin

    十五、一直想找个email收发的插件,只有一个for outlook,且受限于操作系统平台并且是商用的。

        附foxmail设置如果使用foxmail可以在系统设置里,设置成自动启动;关闭时最小化到托盘区,不退出,这样邮箱在外关上不占界面显示。

        另外在邮箱帐号属性->服务器 默认设置 每隔15分钟自动收取新邮件。时间间隔可以置更长或更短,这样可以让邮箱来通知开发者是否有其他新任务。

        最后如果你想对某些邮件做自动回复,可以在过滤器里帮设置。

    转自:http://truemylife.iteye.com/blog/1668919

  • 相关阅读:
    DataGrid
    TreeGrid
    获取选中内容
    requirejs——config
    C# 字符串与字节数组相互转换
    并发编程
    关于 warning CS0659:“***”重写Object.Equals(object o)但不重写Object.GetHashCode()
    使用C#书写SQLite数据库增删改查语句(以及插入byte[]时遇到的问题总结)
    TortoiseSVN/Git覆盖图标失效的解决方案
    C#Question:“XXX”的重载均与“System.Threading.WaitCallback”不匹配。
  • 原文地址:https://www.cnblogs.com/daocaowu/p/3509689.html
Copyright © 2020-2023  润新知