jboss7开发配置指南

1Jboss7下载与安装1.1 官方下载

路径:,目前最新稳定版本为7.1.1 final,分别有zip和gz两个版本,本文介绍xp下的zip版本。

1.2目录介绍与启动

把下载的zip包解压到相关目录,如目录E:/dev_tools/jboss7/,jboss7的目录结构与之前jboss其他版本大为不同,名称非常陌生,,以下图所示:

1.2.1 目录介绍

目录 描述

binUnix 和Windows 环境下的启动脚本和启动配置文件

bundles 存放 OSGI bundle

docs/schema 存放 XML schema 定义文件

domain domain 模式的配置文件、部署内容和可写区域等

modules 存放各种模块,AS 7 是基于模块化的类加载架构

standalone standalone 模式的配置文件、部署内容和可写区域等

welcome-content 欢迎页面

standalone目录结构

configuration Standalone 模式的配置文件,所有配置信息都存放于此。

data 服务器写入的持久化信息,比如通过 web 管理控制台或CLI部署的项目存放在content 目录下。

deployments 用户部署内容存放目录,服务器运行时能自动侦测和部署这些内容。

lib/ext 利用扩展列表机制安装的 libraryjar 的存放位置。

log日志文件

tmp 临时文件

1.2.2 启动jboss

目前只需单独部署jboss7,故以standalone方式启动,即进行JBOSS_HOME/bin目录下双击standalone.bat就可以启动服务器了,web默认端口为8080,后台管理默认端口为9990。若需要更改端口,请在JBOSS_HOME/standalone/configuration/standalone.xml中最后位置那修改。如图:

1.3Eclipse中配置jboss7

2.

install new software

在Eclipse里面安装JBossTools3.3

a、【Help】——>【InstallNew Software】——>【Add】

Name:JBossTools

Location:

——>【OK】——>【SelectAll】——>【Next】

——>(中间的步骤一直NEXT,需要选择同意)——>【Finish】

b、【Help】——>【InstallNew Software】——>【Add】

Name:JBossTools Aop

Location:

——>【OK】——>【SelectAll】——>【Next】

——>(中间的步骤一直NEXT,需要选择同意)——>【Finish】

2项目部署

Jboss7项目部署与jboss4.2有很大区别,最主要原因是由于类的加载模式改变了。Jboss4.2部署相对简单,只需将相应的包部署到lib和deploy目录即可,类加载器会按层次自动加载,不用配置依赖关系。而jboss7完全不一样,jboss7是按模块化加载,不同模块由不同类加载器加载,其他模块的jar包,对其是不可见的,这时需要手动配置包之间依赖关系,否则会报ClassNotFoundException等错误。

Jboss7部署项目有多种方式,如war和ear包部署,不同部署方式有很大的区别,需要配置的文件也可能不一样。由于我们之前的项目是使用jboss4.2部署的,所以jboss7部署要尽量要与其相似,相对简单。

2.1.1 部署第三方jar包

Jboss7中的jar一般是以module方式部署。根据包名路径在JBOSS_HOME/module下建立单独的module,比如:struts2的包名为org.apache.struts2,此包名能包括struts2-core-2.0.14.jar下的所有文件,以包名层级建立文件,最后一级为版本号,默认名为main,如图所示:

然后把struts2的jar包放到main目录中,并生成与jar包名一样,后缀名为index文件,该文件内容为jar中所有完整包名。同时手动创建module.xml文件,内容为:

<?xmlversion="1.0" encoding="UTF-8"?>

<modulexmlns="urn:jboss:module:1.1" name="org.apache.struts2">

<resources>

<resource-root path="struts2-core-2.0.14.jar"/>

<!–Insert resources here –>

</resources>

<dependencies>

<modulename="asm.asm"/>

<modulename="javax.api"/>

<modulename="org.antlr"/>

<modulename="org.apache.commons.collections"/>

<modulename="org.apache.commons.beanutils"/>

<modulename="org.apache.commons.lang"/>

<modulename="org.apache.commons.codec"/>

<modulename="org.apache.commons.logging"/>

<modulename="org.dom4j"/>

<modulename="org.javassist"/>

<modulename="org.jboss.logging"/>

<modulename="javax.servlet.api"/>

<module name="javax.servlet.jsp.api"/>

<modulename="freemarker"/>

<modulename="ognl"/>

<modulename="com.opensymphony.xwork2"/>

</dependencies>

</module>

其中module的name为struts2包名,resource-root的path为struts2 jar全名称。

Dependencies配置依赖关系,即所需import的包,如org.dom4j,struts2使用它来解析xml文件,因此必须显式地指定依赖关系,否则会报ClassNotFoundException。其它依赖如此类似。

2.1.2 部署项目ifc包

Ifc包部署方式与部署第三方jar包完全一样,以module方式部署,这样就能保证ifc包先于ejb和war包启动。

2.1.3 部署war、ejb包和配置依赖关系

项目一般包含war和ejb包,都部署到JBOSS_HOME/standalone/deployments/中,jboss7默认部署路径。若单独使用的第三方jar包,可考虑打包到war包中的WEB-INF/lib中,其他项目无法共享此jar包。

War,ejb包的依赖关系就统一配置在standalone.xml中,这样所有项目都能共享。配置项如下:

<subsystemxmlns="urn:jboss:domain:ee:1.0">

<ear-subdeployments-isolated>false</ear-subdeployments-isolated>

<global-modules>

<module name="com.mipt.util"slot="main"/>

<modulename="org.apache.struts2" slot="main"/>

<modulename="com.opensymphony.xwork2" slot="main"/>

<modulename="org.apache.commons.lang" slot="main"/>

<modulename="org.apache.commons.io" slot="main"/>

<modulename="com.mipt.admin" slot="main"/>

<modulename="com.mipt.ucenter" slot="main"/>

<modulename="com.mipt.appstore" slot="main"/>

<modulename="org.apache.commons.logging" slot="main"/>

<module name="com.googlecode.jsonplugin"slot="main"/>

</global-modules>

</subsystem>

如war包中需要使用到struts2,需要显式地依赖struts2module

3JNDI获取

Jboss7获取jndi方式与之前版本完全不一样,使用了新技术实现。请看原文说法:

文画音,看似耳目所为,其实是内心世界的感受。

jboss7开发配置指南

相关文章:

你感兴趣的文章:

标签云: