Eclipse+Jboss使用小问题总结

LombozEclipse的一个主要的开源插件(open-source plug-in),Lomboz插件能够使Java开发者更好的使用Eclipse去创建,调试和部署一个100%基于J2EEJava应用服务器。

 

Lomboz插件的使用,使得Eclipse将多种J2EE的元素、Web应用的开发和最流行的应用服务器车结合为一体。

 

Lomboz的主要功能有:

1、  使用HTML pages, servlets, JavaServer™ Page (JSP) files等方式建立Web应用程序

2、  JSP的编辑带有高亮显示和编码助手

3、  JSP语法检查

4、  利用Wizard创建Web应用和EJB应用

5、  利用Wizard创建EJB客户端测试程序

6、  支持部署J2EE Web应用档案(EAR),Web模块文件(WAR)和EJB档案文件(JAR

7、  利用Xdoclet开发符合EJB1.120的应用

8、  能够实现端口对端口的本地和远程的测试应用服务

9、  能够支持所有的有可扩展定义的Java应用服务

10、能够利用强大的Java调试器调试正在运行的服务器端代码(JSP&EJB

11、通过使用Wizard和代码生成器提高开发效率

12、创建Web服务客户端的WSDL形式的文件

 

Lomboz适用的服务器有:

Apache Tomcat, JBOSS, JOnAS, Resin, Orion, JRun, Oracle IAS, BEA WebLogic Server andIBM WebSphere

准备工作

在安装Lomboz之前需要做些准备工作,首先,确认你是否已经在使用Lomboz以前的版本,如果有那么你可以更新你的Lomboz到新的版本或卸载掉旧的版本。

 

在安装完Eclipse之后(没有解压Lomboz插件之前)确保你的Eclipse的安装过程正确,并且可以运行Eclipse

 

安装JDK

一个普遍的问题是缺少安装合适的Java Software Development Kit(也就是JDK,为了开发和编译Java程序,你需要一个JDK1.4或更高的版本。安装JDK之前,可能你已经安装使用了一个对于Eclipse来说十分方便的获得的Java Runtime Environment (JRE),事实上这可能就是你存在问题的原因,因为JRE并不能够代替JDK。你可以从Java的官方网站下载最新的JDK。在安装完JSK后,你就能发现你可以正常的使用了。

 

笔者补充:

既然使用Eclipse那么JDK应该安装的差不多。

一般都直接解压在C盘根目录下,比如:C:/j2sdk1.4.2

设置JDK的内容有

JAVA_HOME = c:/j2sdk1.4.2

CLASSPATH = .;%JAVA_HOME%/lib;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar

PATH增加 ;%JAVA_HOME%/bin;%PATH%

 

并更改Eclipse的“首选项(Preferences)”—〉“Java”—〉“已安装JREInstalled JREs)”中的j2re1.4.2_05JRE home directory” c:/j2sdk1.4.2/jre/”,保存后重新启动。

 

另外,最好使用一个从未被启动过的Eclipse3.0.1,这样可以完全中文化。如果在安装中文包时Eclipse已经被使用过,则可能会出现有部分内容不能被汉化,比如“搜索”、“运行”等菜单。如果中文化的不完全,把eclipse 目录下的configuration目录删除,重启即可。

 

Lomboz的软件要求

对于Lomboz的软件要求如下图:


解释一下最后一个“
Other Eclipse Projects EMF

Lomboz3.0 所使用的Models是基于EclipseEMF工程,要求必选装EMF Runtime2.0.0或更高版本,Lomboz3.0才能在Eclipse中正常使用。

 

笔者补充:

的确如此,必须安装了EMF2.0.0或更高版本的 RuntimeALL SDK才能在Eclipse中正常使用Lomboz,否则在Eclipse的“首选项(Preferences)”的左边树中没有关于Lomboz的设置。

 

安装Lomboz

首先你必须从www.objectlearn.com下载Lomboz软件,确保下载的版本与你的Eclipse相适应。

 

Lomboz插件下载完后是一个Zip的压缩包形式,解压lomboz.zip文件到Eclipse的安装目录,将会创建一组如下图的插件文件夹:


现在你可以启动
Eclipse,并完成Lomboz的安装和配置,你必须完成Lomboz的配置。

 

笔者补充:

最好先解压下载lomboz.zip文件到一个目录,然后再把解压目录下的plugins文件夹及其内容全部复制到Eclipse目录中。除plugins文件夹名称相同外,其他应该没有相同的内容。

 

插件激活(Plugin Activation

一旦安装Lomboz,那么接下来Lomboz必须被激活。

选择菜单“窗口”—〉“定制透示图”,打开如下窗口,选择 子菜单内容为“新建”,然后钩选Lomboz J2EE Wizards,以及其内的所有子项如下图:

 

选择菜单“窗口”—〉“定制透示图”,更改子菜单内容为“显示示图”,然后钩选Lomboz J2EE以及其内容,如下图:

 

选择菜单“窗口”—〉“定制透示图”,切换到“命令”标签页,选择Lomboz Actions如下图:


选择菜单“窗口”—〉“首选项”,在“工作台”—〉“标签修饰”中钩选
Lomboz J2EE Decorators如下图:


如果你完成以上设置,那么在工具栏中会增加一个如下图的图标:


并且,利用向导新建工程的操作中也会增加相关的内容如下两图:

 

 

配置JDTLomboz

 

在你利用Lomboz作为你的J2EE项目的开发工具之前,你必须完成以下的配置工作。

 

第一步Java

首先必须明确,新建Java项目的输出文件和源代码的形势。

从菜单“窗口”—〉“首选项”中打开首选项对话框,并展开左侧树中的“Java”条目,选择“构建路径”。将“源和输出文件夹”的内容从“项目”更改为“文件夹”,源文件夹名“src”,输出文件夹名“bin”。修改后,选择“应用”按钮保存修改,如下图:


 

第二步Lomboz设置

大多数应用服务器使用标准Java编译器(javac)编译JSP文件,javac包含在标准JDKtools.jar中(而非JREtools.jar)。

 

所以必须正确选择JDKtools.jar文件,它通常位于标准JDK的安装目录下的“lib”文件夹下。


Enable JSP Syntax checking
如果你有大量的JSP文件,并且在你每次保存的时候不想检查它们的语法,那么这项功能将会非常有用。缺省情况下此功能是被选中的。如果你不需要这样的功能,可以将此功能去掉并“应用”保存。

Server restart 如果在你重新布署工程后,你的应用服务器没有能够重新装载你的Web容器或EJB容器,那么使用此项,将会非常有用。选择此功能,Lomboz会帮你在重新装载容器后,启动你的应用服务器。这项设置对于使用Tomcat的你来说也许会非常有用。

Update server classpath and deployment parameters此功能使Lomboz能检查和锁定工程的Classpath和已选择的工程布署工具。如果你改变了一个服务器的定义那么此项功能会非常有用。缺省情况下此功能是被选中的。如果你不选中此项,那么每次你在改变了服务器的定义的时候你都不得不去检查和锁定一下你的工程的Classpath

 

Select Code Generation Plugin

Lomboz 3.0支持可扩展代码插件。你可以选择一个支持生成EJB代码和注释的插件。Lomboz所提供的默认插件是"XDoclet"


 

重要内容:

Use application server classpath

这个功能会使你在启动应用服务器的时候使用您下一步服务器定义中的Classpath。它将不会使用你所建立的Java工程中的Classpath。

如果你不选择此功能,那么Lomboz将使用你Java工程中的Classpath去启动应用服务器。这样的缺点是Web容器或EJB容器的将会出现两次的Classpath。一次是Eclipse的Java工程中,另一次是EJB的Jar和Web的war。这将造成意想不到的类装入问题,如果你有过这样的经验,那么就会使你确定要选择这个功能。

 

第三步:服务器定义

Lomboz能够适应几乎所有的Java应用服务器。为了使Lomboz创建一个正确服务器地址的脚本你需要设定一些参数。你设置的这些参数被当作启动服务器和寻找本地部署Web应用和EJB应用的文件的默认设置。

 

这些服务器配置文件被存放在Lomboz插件目录下的一个名叫“servers”的文件夹下,当需要定义的时候Lomboz都会扫描这个文件夹。


下一步就是检查和设置这些服务器的定义。

尽管已经为这些参数预先定义了一些值,这些默认值并不符合你所需要的配置。

 

重要的一点是在进行了更改后一定要记住“应用”你的更改,使之保存。

 

Properties page

打开首选项对话框,选择Lomboz下的Server Definitions,然后按照以下步骤进行更改:

 

选择Servers Types中你要是用的服务器,然后更改相应的服务器所在目录和Classpath变量的内容:


 

Classpath page

接下来就是查看在服务器启动时,那些库是必须加载的。我们在之前设置的Classpath variables已经被应用在这里(笔者提示:上一步应用之后,确定关闭首选项,重新打开首选项,Classpath variables被应用)。你可以在这个列表中增加或删除,服务器启动时必须加载的库,但必须记住任何修改之后都要“应用”。

 

第四步:验证Classpath variables

验证这些变量是否被设置,方法是打开“首选项”对话框,展开Java条目,选择“构建路径”—〉“类路径设置”条目,你应该看到你所设置的变量已经被加入到列表中,如图:


 

第五步:对于EJB开发的Xdoclet配置

Xdoclet 仅支持 Java2 JDK ,不支持1.1的老版本

确保JDKLib目录下的tools.jar文件在classpath变量中

确保JDKBin目录在Path变量中

第二章完.
用了一个星期,断断续续弄的,太没效率了.


 

Lomboz观念表明J2EE应用开发是一步接一步完整的开发过程。所以,它必须包含应用开发过程的所有阶段,诸如:编码,编译,部署,测试,调试等。

 

一个符合J2EE规范的程序相对于一个普通Java程序的区别在于应用程序被部署在根据Web应用和EJB应用所组织的有标准组件的包模式中,一部分这样的应用程序构成了企业级应用。

 

依照J2EE的规格标准,这些Web和EJB应用有着很好的定义和标准的结构,这些结构形成了J2EE应用中“Modules”的内容。对于这些“Modules”,一个应用服务器提供和管理运行环境。一个应用服务器能够同时管理很多modules



“Development must be a reflection of the end goal, the production environment”.

一个企业级的应用是由很多modules组成的,所以一个符合J2EE规范的工程必须能够在同一时间操作多个modules。这些modules不会与它们产生的副本有任何不同。

 

“Developers must not be limited with our restricted views of how things should happen”.

我们经常倾向性的去想我们所积累的经验能解决开发者遇到的大多数问题。但是这样想是存在漏洞的。因为对于每个工程来说开发者还要注意很多细节。我们正试图利用Lomboz的自动化使这些问题能提早的发现。开发者能观察和修改Lomboz的行为通过自定义的设置。

 

这里有三种方式让你通过使用Lomboz为你的工程增加J2EE的特性:

 

New J2EE Projects: 新建J2EE工程,这个选项适于你刚开始建立一个J2EE工程,J2EE工程向导将帮助你设置你工程中的一些重要的内容。

 

New J2EE Module: 新建J2EE Module,这个选项适合你想为你已经存在的工程增加新的Web和EJB Module。J2EE Module向导将会在你的工程中创建一个新的Module。这个选项可能需要额外步骤去确定你的Java Build Path(classpath)是否包含必要的库文件。

 

New Ear Module: 这个选项适合于你想将你的J2EE modules打包成一个应用服务器的文档。EARs 是主要的一个封装工具,它们包含多种多样的WebEJB modules,它们可以形成一个应用。你可以从你已经存在的WebEJB modules中组成一个EAR文件。同样,很多应用服务器(例如:WebSphere, Orion, Oracle)并不能很容易的认可独立的WebEJB modules。对于它们最好的办法配置一个EAR包,并使用它作为主要的部署单元。

 

Enabling existing modules: 这个选项适用于你有一些不是用Lomboz创建的Web和EJB modules。通过增加必须的Lomboz成分和符合J2EE规范内容你将可以使它们被看作是J2EEmodules。这个选项可能需要一些额外的步骤去确定你的Java Build Path(classpath)是否包含必要的库文件。  


 

正在使用Eclipse3.01Jboss3.2.6,外加Lomboz3.01(必须安装EMF-SDK-2.0.1

 

其间遇到了很多问题,问题虽小,但解决起来却费了很大劲,有些在网上是有一些解决办法,但是却不能理解真正的原因,让我觉得还是需要研究研究。

 

1、首选项(Preferences)中的LombozServer Definitions为什么每次打开都是Jboss2.4.4,我不是已经设置并“应用”了Jboss3.2.6了吗?

原因:概念没有理解清楚。

Server Definitions中的Server types的内容其实是读取了文件夹“C:/eclipse3.01/plugins/com.objectlearn.jdt.j2ee_3.0.1/servers”中多个文件而形成的,每一个文件对应一种服务器的配置。

并且这里只是表示一个列表,说明你的Jboss可以支持那些服务器。至于你的Project到底使用哪一个,需要在建立你的Project的时候设置,并且可以添加多个。

这里只是对每种服务器的一个设置,而并不是说你就使用的是默认打开的这个。

 

你完全可以删除server文件夹下你不用的服务器的配置文件。比如我删除jboss244jboss244Tomcatjboss300all等我不用的服务器。

 

2Server文件怎么编写

其实,Server Definitions中每一个Server Type都对应了4个标签页,对这4个标签页内容的设置就是在更改Server文件的内容。

第一个属性页:修改的内容主要是相应的服务器所在目录和Classpath变量的内容,

3Server classpath属性页,Clent classpath属性页和Project classpath属性页:主要检查添加的变量与库文件是否正确,有没有缺少。

我个人认为现在的Eclipse似乎做不到立刻检查指定的正确性,只要指定的Classpath variables内容是Jboss的安装目录,应用后server文件中默认的那些设置都是同样的图标。不管你的这个Jar文件是不是真的在指定的目录存在。

 

3、由于2的问题,而导致找不到javax.servlet.jarjboss-boot.jar文件

原因:这两个文件已经不存在

解决方法:

在网上找了半天,发现一个日本网站上有提供现成的Jboss3.2.6server文件,下载下来能用。网址是:http://www.kawaz.jp/pukiwiki/?JBoss%203.2.3%A2%AA3.2.4

但是民族情结使我觉得总该搞清楚怎么会事,比较了两个文件发现

新的已经将javax.servlet.jarjboss-boot.jar文件的引用去掉。

 

但是在Server classpathProject classpath中都多一条以下内容的设置:

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/deploy/jbossweb-tomcat50.sar/servlet-api.jar</jar>

 

另外还发现Server classpath中的默认的jdom.jar文件已经替换成了dom4j.jar文件。可以到jboss3.2.6lib目录下看是不是这样了。

 

4、为什么在手动更改和替换了几次server文件后,Eclipse中的Lomboz J2EE View中的启动服务器的按钮不好使了,只能自己到Jboss目录下执行run.bat

本来按照下图,可以启动服务器:


但是,突然不好使了。

最后发现是因为自己的server文件出现了一个“小错误”。

 

因为我将Server目录下的Jboss32x.server文件的文件名改成了Jboss326.server,这样在首选项(Preferences)中的LombozServer DefinitionsServer types中看到的就是明确的Jboss3.2.6,但是我没有更改这个server文件中的第二行的内容,

应该将name="JBOSS 3.2.x"更改成name="JBOSS 3.2.6"与名称保持一致,这样就不会出现那种“奇怪”的问题了。


 


我想自己还会遇到很多小问题,希望记录下来,对自己有所帮助.

另外我还想进一步理解server文件的含义,有知道的请告诉我,谢谢. 

 



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值