Eclipse零起步系列讲座 (四~六)(转贴)

来源:互联网 发布:python自动登录脚本 编辑:程序博客网 时间:2024/06/10 19:38
Eclipse零起步系列讲座 (四)

===========================================

(前言)
大家根据上一讲,加之好好练习,相信您会越来越喜欢用eclipse来开发java程序的. 那今
天这篇, 应ForEclipse版友的要求, 就写一篇关于eclipse下使用cvs的文章

.而且昨天那篇水贴,大家都谈了谈使用感受,我也觉的受益非潜. 呵呵, 就来总结一下把
.

(正文)

[CVS 简介]

CVS 是 Concurrent Versions System的缩写,基于Unix体系中成熟的SCCS(Source
Code Control System)和RCS(Revision Control System)开发,是一个开放源

码的项目,目前已是版本控制系统的主流软件.一个很常见的使用CVS的场合,就是开放源
码项目.由于开放源码项目的开发者的分布性,对于版本管理的要求更加严格,

而目前大部分的开放源码项目几乎都是采用CVS来管理源代码,CVS的标准性和强大可见一
斑.

CVS采用客户机/服务器体系,代码以及各种版本存储在中心服务器内,每一个个体开发者
开发时都首先从服务器上获得一份自己的拷贝,在此基础上进行开发,以避免

直接影响服务器上的数据.开发者可以随时把自己的新代码提交给服务器,并通过更新获
得代码的最新状态,保持与其他开发者的一致.

CVS对于网络是透明的,开发者可以使用客户端软件(几乎所有的平台上都有相应的客户
端软件)在任何时候,任何地点通过网络来获取最新的代码.

对于Eclipse的开发者而言,Eclipse本身内置了CVS支持,不需要使用其他客户端软件,只
要建立一个CVS服务器,就可以使用这一强大的版本控制系统了.

[CVS 安装和配置]

这里只介绍windows下的cvs实现CVSNT,CVSNT的安装有一定困难,我简单介绍一下.

当然首先要说一下哪里可以下载到cvsnt, 就在http://www.cvsnt.org/ ,现在的最新版本
CVSNT 2.0.41 (Wednesday 21st April 2004)

CVSNT的windows版本在 nt, 2000 , xp, 2003 都可以安装的.

当下来后第一件事情就是setup, 安装好后,

从开始菜单的程序组中启动CVSNT配置程序service control panel.这时应该看到服务器
还没有运行(CVSNT作为系统服务运行),如果已经运行了,先把它停下来.选

择第二个选项卡Repositories,这里我们假设数据库都存储在E:/work/cvsrepo下,点击Ad
d, 然后点击省略号按钮来选择E:/work/cvsrepo作为数据库路径.它会提示

你这个数据库没有初始化,问你是否要初始化,选是. 然后, 我们选到service status 选
项卡, 启动server.

由于cvs的帐户默认是和windows domain用户联系在一起的, 所以可以通过在windows里
的控制面板添加用户,比如我们添加一个user, username= userid,

password= passwd. 我们会在后面使用到.


[Eclipse下 cvs 的使用]

在eclipse使用cvs前,首先要连上cvs服务器, 打开cvs repository透视图, 这个透视图
里有个cvs repository视图, 在这个视图中,右键点击选菜单New->

Repository location. 此时会谈出一个add cvs repository对话框. 然后填写此对话框
的各项信息:

host: localhost (如果你cvs server装在自己机器上)
repository path: e:/work/cvsrepo

user: userid
passwd: passwd

connection type: pserver

一切操作正常的话, eclipse就能连上cvs了. 接下来我们要开始介绍如何具体使用了.

1. share project & disconnect

首先一个project想加入cvs 控制的话, 就要share project, 用以把所有project下的信
息加入cvs下控制. 操作方式就是: 选中你要share的project,然后右键点击

弹出菜单, 选team-> share project

但是这里要注意的是, 不是所有的文件都应该加入cvs的,比如编辑器生成的临时文件,编
译生成的.class文件,或者某些编译过程生成的二进制文件等等.因此

,Eclipse并不自动把所有文件存储到数据库中,需要开发者手工指定把那些文件存储到数
据库中,也就是加入版本控制add to version control.对于单个文件的指定

,可以随时在Resource Perspective或Java Perspective中的文件上使用右键,选择Team,
Add to Version Control.如果需要存储整个项目或者同时指定多个文件,则

要使用同步(Synchronize)视图.

如果一个已经在cvs控制下的project,你想与cvs断开, 也很简单, 选中那个project,然
后右键点击弹出菜单,然后选team->disconnect

2. check out

如果想从cvs上, 下到本地,参加团队开发, 就先在cvs repository视图里浏览cvs里的内
容, 找到你要找的project, 然后右键点击, 选择check out as project,这

样eclipse就会自动从cvs上check out下来这个project, 可以开始团队开发了

3. 推荐使用的cvs步骤

理想的开发工作流是这样的:

Workbench #1 ----------------------------------------------------->

// //
/ / / /
update/ /commit update/ /commit
/ / / /
Branch ----------------------------------------------------->
/ /
/ /
update / / commit
//
Workbench #2 ----------------------------------------------------->


*: 从最新状态开始.开始工作前,要保证所有资源与最新的分枝状态一致.对于从头开始
的新项目,首先要连接服务器,设定存储那些资源文件.对于在服务器数据库中

已经有记录的项目,首先要通过更新来保证资源状态最新.如果本地的工作没有需要特别
保存的,可以直接把数据库中的最新版本Check Out As Project,或者Replace

With,Latest from Repository.
*: 进行本地工作,保存修改.
*: 同步.当做好提交工作的准备后,要和服务器数据库同步.
**: 首先应该更新(Update),检查所有的Incoming改变,输入到本地,看是否会影
响自己的工作,是否会造成冲突,破坏完整性等等.
**: 检查完更新后,可以确认自己的工作和最新的Branch内容是一致的,就可以提交
(Commit)自己的修改了,标上适当的注释.

以上推荐步骤一定要严格执行,否则后果自负!!

4. 其他使用提示

commit: 当完成对文件或者项目的修改,需要确认修改,把最新的状态存储到数据库中去,
就需要执行提交(commit)操作.类似的,我们可以在Resource Perspective

或Java Perspective中的文件上使用右键,选择Team,Commit;或者在Synchronize视图中
同时提交多个文件乃至整个项目.注意,每次提交时都会提示输入注释,这是

很重要的,作为每一个状态的说明和提示.

merge: 当我们需要把文件或者项目的不同版本进行比较或者替换时,可以在Resource
Perspective或Java Perspective中的文件上使用右键,选择Team,Compare

With或者Team,Replace With来完成.进行比较时将打开一个比较编辑器,很好地表示不同
版本之间的差异,和Local History类似.

explorer: 如果要了解CVS数据库的内容情况,可以使用CVS Repository Exploring
Perspective.我们可以点击Eclipse左上角的开启视图按钮,增加这一视图到左边

的视图浏览栏里.前面已经提到,HEAD代表CVS数据库里的主流内容.展开Versions,可以看
到以往的版本.另外,在右下角有数据库的历史记录标明每次修改的相关信息

.

[其他相关资源]

*: Eclipse Help中的Workbench User Guide中的 GettingStarted ->Team Tutorial 和
Task -> Working in team environment

*: http://www.cvshome.org/ CVS官方网站,可以从这里下载最新版本的CVS(Unix/Linux
平台版本)以及相关的文档和资料,
*: http://laser.zhengmai.com.cn/cvstutorials.html 一个中文的CVS简单教程.
*: http://www.cvsnt.org/ CVSNT,在Windows NT上的CVS服务器
*: http://www.cvsnt.org/mailman/listinfo/cvsnt 关于CVSNT的使用问题的邮件列表.
*: http://devguy.com/cvsnt 另一个CVSNT安装问题的帮助和常见问题回答.
*: http://www.cvsgui.org/ Windows平台下的图形化CVS客户端软件.

Eclipse零起步系列讲座 (五)

===========================================

(前言)
自从有了eclipse, plug-in这么名词就越来越红火起来了, 虽然eclipse自带了jdt,pde
等plug-in, 但这些显然不能满足我们的基本需求,也不能完全体现出eclipse的强大之处
. 那这篇就开始要介绍一些关于第三方plugin的一些知识.

(正文)

[plug-in 的安装]

或许有很多人说, plug-in的安装还不简单, 解压copy重启动不就ok了? 呵呵, 当然这是一
种办法. 但是远不止这一种哦.

方法1: 解压+copy+启动

记得第二讲讲过,eclipse启动后会自动的搜索plugins目录下所有的plugin,然后在featu
res的控制下启动或禁用它们. 所以最简单的一个方法就是把你下载下来的第三方plugin
,解压后copy到这features和plugins这两个目录里面, 就一切ok了.
例如: 我们以eclipse_example这个plug-in为例(每个eclipse版本都有一个相应的examp
le plug-in, 你只要去下载eclipse,就能找到这个plug-in的下载)
下载下来之后,解压到一个temp目录,
/
plugins/
org.eclipse.ui.examples.readmetool_2.1.0/
org.eclipse.swt.examples_2.1.0/
org.eclipse.help.examples.ex1_2.1.0/
org.eclipse.swt.examples.paint_2.1.0/
org.eclipse.sdk.examples_2.1.1/
org.eclipse.ui.examples.multipageeditor_2.1.0/
org.eclipse.compare.examples_2.1.0/
org.eclipse.jdt.ui.examples.projects_2.1.0/
org.eclipse.ui.examples.propertysheet_2.1.0/
org.eclipse.ui.examples.javaeditor_2.1.0/
org.eclipse.team.examples.filesystem_2.1.0/
org.eclipse.swt.examples.controls_2.1.0/
org.eclipse.swt.examples.layouts_2.1.0/
org.eclipse.swt.examples.launcher_2.1.0/
org.eclipse.swt.examples.ole.win32_2.1.0/
org.eclipse.sdk.examples.win32_2.1.1/
features/
org.eclipse.sdk.examples.win32_2.1.1/
org.eclipse.sdk.examples_2.1.1/
这个example里面有16个plugins和2个features, 然后我们这些plugins和features 拷到
eclipse里面相对应的目录里去就ok了

如果你启动eclipse是用老的工作区, 那启动后, eclipse会发现和老的工作区配置相比
又多了两个feature, 所有它会跳出框提示你是否启动这个feature, 选是,然后再选重启
工作区,以使feature生效, 那整个安装过程就ok了

方法2: links方式 (推荐方法)

这种方式比较好管理, 因为你装了1,2个plug-in还好, 如果装了好多好多, 那可就难办
了, 你会发觉/plugins和/features那两个目录下有多的数不清的plugins和features,
你想删出一个插件,你都不知道该删哪个好. 那有什么其他安装plugin的方法吗? 有.

还是以eclipse example为例, 但是我们要对解压后的目录做一下调整, 变成这样的结构
/
eclipse/ <--- 新加一个目录
plugins/
...
features/
...

然后在目录下创建一个links的目录, 在这个目录下创建一个文件叫
org.eclipse.sdk.examples.link,这文件中写入一下内容:
path= (就是example plug-in解压到的那个目录, 写这个目录路径时记得
把 "/" 写成 "/" )

然后,你就可以启动eclipse了, 效果和前面那个一样.

为什么呢? 理由很简单, 目录下的features和plugins两个目录只是ecli
pse搜索的默认路径, 如果你机器的别的目录中,也有plug-ins, 那就把那个目录的路径
写到links目录下的一个link文件中即可, 那启动的时候也会去那个目录下搜索plugin.

方法3: 自动安装

要实现自动安装, 那就要先启动eclipse了, 然后选help->software update ->
update manager, 这样会切换到install/update perspective, 这个透视图是专门为了
安装和更新插件而设计的.

在eclipse有一个站点的概念, 就是说plug-in制作完后,可以封装后发布到一个站点上,
这样用户就可以通过eclipse平台连接到这个站点,进行自动更新.

例如, 我们以ajdt这个plugin为例 (http://www.eclipse.org/ajdt , 我们要在线安装
这个plug-in,
在features update视图中, 右键点击选new-> site bookmark,
在new site bookmark对话框中, name填 ajdt, URL 填
http://download.eclipse.org/technology/ajdt/update
然后确定, 你会发觉在features update视图中多了一个节点叫ajdt, 展开这个节点:
+ ajdt
+ AspectJ
- Eclipse AspectJ Development Tools 1.1.4 <-- 点击这个节点

然后,你会发觉在preview视图中有对这个plugin的简单介绍, 还有一个install按钮, 点
击此按钮,就进入了安装此plugin的过程, 然后只要一路往下next就可以了.安装完毕之
后,重启, 就会自动生效了.

[卸载 plugin]

1. 对于安装方法1装上去的plugin, 呵呵, 没有很好的办法, 自己慢慢挑出来属于那个
插件的plugins和features,手动删除

2. 对于安装方法2装上去的plugin, 那就简单了, 直接把links里面对应的那个文件给删
了,就ok了.而且这样还有一个好处, 哪天你还想再装回去, 只要你plugin没删,把links
的那个文件在加进去就又可以用了.

3.其实对于1,3两种安装方法来说, 要卸载plugin的一个好方法是采用禁用方式较好. 具
体就是在install/upate perspective中的install configuration视图里,选择eclipse
platform 节点, 展开后会看到所有安装在当前eclipse平台下的features, 点击你要卸
的feature, 然后在preview视图中,按disable按钮即可. 这样其实就是不让这个plugin
在平台中启动,并没有真正的删掉. 这样你以后想要重新用的话,还是按照前面的步骤,然
后enable就可以了


[其他]
关于插件这个概念的一点澄清: 比如我说的eclipse example这个plug-in(1) 还有 这个
plugin目录下16个plugin(2)
这(1)和(2)不一样的, 其实plug-in是plugins和features的集合, 一个plug-in往往有多
个plugins和features
但是我们平时叫起名字来就会发生这个概念上的混淆, 所有以后请一定区分开plug-in
和plugin

下一讲,我们要开始介绍一些实用的第三方插件了

Eclipse零起步系列讲座 (六)

===========================================

(前言)
今天就介绍一下怎么在eclipse下面开发j2ee程序.

(正文)

[J2EE 插件一览]

用eclipse开发j2ee的话, 可用的插件插件可就太多了:

其中比较出名的有:

Lomboz: http://forge.objectweb.org/projects/lomboz

MyEclipse: http://www.myeclipseide.com/(虽然好,但是不是免费的,个人不建议使
用,真有钱,用wsad)

Resin: http://membres.lycos.fr/resinforeclipse/

EclipseJ2EE: http://www.eclipsej2ee.com/

而j2ee服务器, 也有很多, 比较出名的有:

JBoss: http://sourceforge.net/projects/jboss (支持EJB)

Tomcat: http://jakarta.apache.org/tomcat/index.html

Resin: http://www.caucho.com/

这些插件各有千秋, 而服务器也根据你开发程序的级别有所选择.
那接下来我介绍一个比较大众化的开发模式(Eclipse+Lomboz+JBoss/Tomcat)来开发j2ee
程序

[配置 Lomboz, JBoss/Tomcat]

这里我们使用Eclipse 2.1.3作为测试平台

1. JBoss下载

最新版本的JBoss是4.0.0 RC3, 可以从jboss主页当下来, 这个版本已经支持JBoss-AOP
方面的应用, 如果想开发aop方面

的程序,可以使用这个服务器, 下载下来之后解压到某个目录,假设叫

2. Tomcat下载

Tomcat现在的最新版本是5.0.x, 可以从tomcat的主页当下来,支持最新的jsp2.0,下载下
来之后解压到某个目录,假设叫



3. Lomboz下载

Lomboz的版本最新为Lomboz 3m8 preview3, 这个最新版本还在测试中,将支持最新的J2E
E 1.4规范,不过我们这里测试的

版本是Lomboz 2.1.3版本的,其实功能上是差不多的. 只是对于的eclipse版本不同.

下载下来之后, 把包解压装到eclipse里即可(具体安装过程参看前一讲)

4. 配置lomboz中的jboss

启动eclipse,打开preference->lomboz, 让我们对lomboz的选项做一些设置.

这preference->lomboz这个页面, 设置JDK Tool.jar, (前提是你必须装一下jdk,最好是
1.4)
然后选择preference->lomboz->server definitions, 这个页面就是用来配置各个服务
器的
在这里面预先定义了很多种服务器, 我们先来配置jboss

选择server type: jboss 3.2.x (因为最新版的jboss 4.0还没加进lomboz里, 就用3.2.
x的配置凑合用用, 因为3.2.x和

4.0的配置都是一样的)

然后修改下面的属性: Application Server Directory:
Classpath Variable:
Classpath Variable: JBOSS400
Server Configuration: 已经有三个配置minimal/defa
ult/all, 可以选一个你合适的,

不懂的选default好了
Port: 默认是8080, 你可以自己修改
, 就是服务器开后的访问端口

如果你觉得4.0的配置在jboss3.2.x实在不爽, 也可以新建一个server type节点

在ECLIPSE_HOME/plugins/com.objectlearn.jdt.j2ee/servers 文件夹下新建一个后缀
名为server的文件,然后根据已

有的server文件为模版,用文本编辑器编辑server文件。建立了一个新的server文件以
后,也可以在Lomboz的属性页中

进行相应的设置。

5. 修改bug

照例说是没有这一步的,可没办法, 配置jboss这里就是有一个bug,要不到后面jboss就跑
不起来了
还是选择server type : jboss 3.2.x这个节点, 然后切换到server classpath 页
然后add library按下, 选择/lib/dom4j.jar, 这样jboss启动的classpath
才算完整了
否则,启动的时候会报这个错
java.lang.NoClassDefFoundError: org/dom4j/Element
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.jboss.mx.modelmbean.RequiredModelMBeanInstantiator.instantiate(

RequiredModelMBeanInstantiator.java:36)
at org.jboss.mx.server.MBeanServerImpl.(MBeanServerImpl.java:163)
at
org.jboss.mx.server.MBeanServerBuilderImpl.newMBeanServer(MBeanServerBuilderI
mpl.java:56)
at
javax.management.MBeanServerBuilder.newMBeanServer(MBeanServerBuilder.java:62
)
at
javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java
:177)
at
javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java
:115)
at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:327)
at org.jboss.system.server.ServerImpl.start(ServerImpl.java:291)
at org.jboss.Main.boot(Main.java:144)
at org.jboss.Main$1.run(Main.java:389)
at java.lang.Thread.run(Unknown Source)


6.配置lomboz中的tomcat
选择 tomcat 5.0.x 这个server type,


然后修改下面的属性: Application Server Directory:
Classpath Variable:
Classpath Variable: TOMCAT_HOME
Port: 默认是8080, 你可以自己修改
, 就是服务器开后的访问端口

这里不用另外修改server classpath的, 所以ok.


[使用lomboz开发Web应用]

File-> New-> Project -> Java -> Lomboz J2EE Wizards -> Lomboz J2EE Project

在New Project里填入project的名字,然后next

在Create J2EE Modules的页面, add 一个新的web module, 比如叫Test
然后切换到 Targeted Server , 加入JBoss 3.2.x 和/或者 Tomcat 5.0.x (就是我们前
面配置好的那个服务器)

然后我们可以看到一个j2ee的web项目就建好了, 我们点击在Package Explorer这个view
中选择Test这个目录

右键点击,有一个菜单集叫做Lomboz J2EE,

我们可以利用这个菜单集来进行操作:

比如你加入了好几个服务器的话, 就可以用change default server来选择默认的服务器


选择好默认的服务器之后,我们就可以run server,
此时server就启动了, log信息会在console view中显示出来

等到server完全启动完毕之后, 我们可以deploy module,它就是执行一段ant,然后deplo
y到当前运行的服务器上
完成deploy之后,我们就可以看效果了

打开ie, http://localhost:8080/Test/index.jsp

你如果看到welcome, 那就说明一切都ok了

以后比如你在运行的时候,在编辑jsp, 编辑完之后,重新deploy,就可以马上看到更新的
结果