【IT168 技术文档】
因为我的电脑配置比较低,在试过Netbeans和IDEA后,我还是决定使用Eclipse,因为它要快那么一点点。
安装Eclipse的插件:
emf-sdo-xsd-SDK-2.2.1
GEF-runtime-3.2.1
JBossIDE-2.0.0.Beta2
JEM-runtime-1.2.1
wtp-R-1.5.2-200610261841
在属性里添加JBoss服务器就不说了。
大原则就是:将所有生成的目录放在本地,让jboss到这里来找javaee工程。
新建一个EJB3.0的工程,假设这个工程叫abcd,一切按照默认,选择好服务器,我用的是jboss-4.0.5.GA,在工程文件夹下建立目录。
deploy:放生成的class文件和网页文件。
dist:放打包生成的abcd.ear,abcd.jar和abcd.war。
lib:放编译期需要的jar包,比如myfaces那两个。
本来的src目录不动,将来源码放这儿。
假设这个工程叫abcd
在deploy目录建立子目录abcd.ear,可以把数据源的配置文件放在deploy目录,如abcd-ds.xml。
进入abcd.ear目录,将需要的jar文件考入abcd.ear目录,如el-api.jar,el-ri.jar,jboss-seam.jar,jbpm-3.1.3.jar等,建立abcd.jar,abcd.war和META-INF目录,META-INF目录放application.xml,jboss-app.xml和MANIFEST.MF。参考文档里说建目录扩展名为ejb3的,但是如果建jar的,等打包的时候application.xml就不用改了,不明白为什么用ejb3这个目录扩展名,jar不影响使用。
将工程的输出目录由默认的bin改为deploy/abcd.ear/aboa.jar,懒得找选项窗口直接改.classpath文件。这样,除了源文件,src目录也放上seam.properties和META-INF目录,META-INF目录放components.xml,ejb-jar.xml,persistence.xml和MANIFEST.MF,编译的时候这些文件会被自动考到deploy/abcd.ear/aboa.jar。
abcd.war放web文件,xhtml,css等,abcd.war目录还要放META-INF和WEB-INF,都是标准配置,不说了。
关键的,修改%JBOSS_HOME%\server\default\conf\jboss-service.xml,在文件最下面,找到这段:
deploy/
这个设置服务器搜索应用的路径,加上我们自己的目录,如:
deploy/,
file:/E:/eclipse/abcd/deploy/
这样起了jboss就不用频繁重启了,但是好像改了java没有重新部署,再研究一下,至少网页没问题了。
目录结构如下:
abcd
deploy
aboa.ear
aboa.jar
com
META-INF
components.xml
ejb-jar.xml
MANIFEST.MF
persistence.xml
seam.properties
aboa.war
META-INF
MANIFEST.MF
WEB-INF
classes
lib
ajax4jsf.jar
jboss-seam-debug.jar
jboss-seam-ui.jar
jsf-facelets.jar
oscache-2.3.2.jar
components.xml
events.xml
faces-config.xml
pages.xml
web.xml
index.htm
META-INF
application.xml
jboss-app.xml
MANIFEST.MF
el-api.jar
el-ri.jar
jboss-seam.jar
jbpm-3.1.3.jar
aboa-ds.xml
dist
lib
myfaces-api-1.1.4.jar
myfaces-impl-1.1.4.jar
src
com
META-INF
components.xml
ejb-jar.xml
MANIFEST.MF
persistence.xml
seam.properties