该部署了
一旦通过校验,下面就可以部署了。一般不会出什么问题,除非服务器里出了状况。如果是这样,只要关掉服务器和deploytool,再把它们重启,就万事大吉了,所有问题都会解决。是不是做法太强硬了?确实如此,但这种方法往往能奏效。有时你还必须采取更为严格的做法,要把服务器返回到它最初安装时的状态,不过幸运的是,有一个命令可以做这个工作。如果遭遇大面积失败,打开一个新终端,键入cleanup。这个脚本会关闭J2EE服务器,另外它还会清空这个机器上建立的所有日志、目录和文件。在此之后,可以尝试重启服务器,再重启deploytool,然后再次部署。如果你打开deploytool时没有看到你的应用,不要着急!只需选择File菜单下的Open,就像在其他应用中打开一个文档一样。对deploytool来说,确实可以把J2EE应用看作是一个文档。
选择Tools
Deploy……

让它返回一个客户jar
服务器一旦启动,它会做许许多多的事情来准备你的bean。其中一个工作就是生成实现了两个接口(home接口和组件接口)的类文件。由于这两个接口是远程接口,所以服务器还要为这两个接口创建远程桩类(这个内容将在后面做更详细的介绍)。不错,客户需要两个接口和两个桩。你已经向客户提供了接口,因为这些接口已经创建。不过只有服务器才能建立桩类,而且如果没有这些桩类,客户是没办法工作的。如果真的没有桩类,客户可能只是老老实实地呆在那里,尽管已经编译好,但万事俱备只欠东风,它会等着你给它提供桩类,这样它才能实实在在地运行。
幸运的是,可以让RI deploytool提供一个客户jar,其中包括客户需要的所有东西(实际上,这个客户jar里的内容还有很多,不过由于这不是一个真正的成品环境,所以先不考虑这些)。
几乎所有EJB应用服务器都要创建桩类,所以你必须找出你的服务器把这些桩类放到哪里了,这样才能把桩类提供给客户。
选择Return Client Jar 复选框(把它放到projects/advice 目录里)
点击Next >

给它取个名字,以便客户查找
快要部署完了,最后一步是给bean提供一个JNDI名。客户会使用这个名字来得到bean的一个引用(当然,只是对客户来说这是一个bean,实际上并非如此,不过这些详细内容到下一章再做说明)。
bean的JNDI名只是你选择的一个逻辑名(或者是实际部署这个bean的任何人所指定的逻辑名)。不要求它与bean本身有什么对应。例如,我们可以把这个bean命名为Homer,实际上,对客户来说这比用一个有含义的名字可能更有意思。
键入JNDI名 Advisor
点击Finish
深呼吸,等待,直到部署过程完成

看着进度条前进,然后为自己祝贺吧
等待……等待……等待……
bean成功部署后,你会看到窗口中出现一行“Deploymentof AdviceApp is complete(AdviceApp部署完成)”。现在,客户就可以访问bean了。这下一切都好了!
点击OK

下面将可以看到,服务器里有了AdviceApp
在Servers图标的下面,你将会看到一个localhost图标,它表示在你启动deploytool之前启动的J2EE服务器。在这个localhost图标下面,现在可以看到你的AdviceApp已经部署好。另外还可以看到一个Undeploy按钮,顾名思义,可以用这个按钮取消部署。
展开Servers > localhost 图标,可以看到AdviceApp







