JBoss 7 与之前的版本有了巨大的变化,最核心的类的加载方式变了,有点类似OSGI那样搞起来了分模块的类加载方式,而不是以前的分层类加载。按以前的类加载方式,在加载树底下的那些类,总是能看到父节点已经加载过的类。但是分模块加载后就不一样了。

碰到的第一个问题就是,到哪里存放项目以来的那些第三方库 (不只是第三方库,同一个项目里也会有一些jar是需要在不同ejb间共享的)。以前的方式是放在common/lib或者server/{部署模块}/lib下面,这样所有的部署模块下的应用都可以访问到这些库里的类了。不过JBoss 7里已经没有这2个目录,这可让人怎么活啊. 这一段时间我一边查资料,一边看书,一边写代码测试,总算有了一点认识。
首先说资料,JBoss 7确实是太新了,基本上没有靠谱的博客或者其他文章是有价值的,最好的是JBoss的官方指南:https://docs.jboss.org/author/display/AS71/Documentation,还有JBoss  官方讨论社区中关于JBoss 7的问答: https://community.jboss.org/。
其次是书本,我只看到一本《JBoss.AS.7.Configuration.Deployment.and.Administration》,绝对值得通读一遍,这本书的书好处是让你对JBoss 7 的方方面面有了了解,缺点是给的例子有点含糊不清,尤其是教你写EJB Client那一章,根本没告诉你要引入哪些jar。不依赖那些jar,编译也没什么问题,就是出来的错误让人一头雾水。
 
写代码测试的话,我用的Eclipse Indigo + JBoss Tools for Indigo,话说这个最新的Indigo好像有时反应很迟钝,郁闷。
 
 
下面详细说说几种发布jar的方式。
1. 在modules目录创建新的module
2. 把jar文件直接部署到deployments目录中
3. 配置全局的module
4. 把jar文件打包到ear的lib目录中。
5. 把jar所在的Eclipse工程部署到deployment中。

JBoss 7 里一个EJB依赖其他jar的几种方式的更多相关文章

  1. Maven项目打包为jar的几种方式

    这里收集整理下以往打包MAVEN项目为JAR包的各种方式 直接打包,不打包依赖包 直接打包,不打包依赖包,仅打包出项目中的代码到JAR包中.在POM中添加如下plugin即可,随后执行maven in ...

  2. Springboot项目打包成jar运行2种方式

    最近公司有个项目需要移植到SpringBoot框架上,项目里面又有许多第三方jar包,在linux服务器上最方便的就是用jar的方式来运行SpringBoot项目了,因此我研究了2种打jar包的方式, ...

  3. (转)maven怎么 引入(或引用/使用) 自定义(或本地/第三方) jar的三种方式 图文教程 方法二最简单

    转:https://blog.csdn.net/wabiaozia/article/details/52798194 准备工作: 假如我有一个自定义jar是:123456.jar,下载地址http:/ ...

  4. node.js 下依赖Express 实现post 4种方式提交参数

    上面这个图好有意思啊,哈哈, v8威武啊.... 在2014年的最后一天和大家分享关于node.js 如何提交4种格式的post数据. 上上一篇说到了关于http协议里定义的4种常见数据的post方法 ...

  5. linux中添加一个用户到指定用户组的两种方式,修改一个用户到指定用户组的一种方式

    添加一个用户到指定用户组: gpasswd –a 用户名 组名usermod –G 组名 用户名 //第一种:gpasswd –a 用户名 组名 [root@localhost ~]# id user ...

  6. Eclipse安装fat jar的两种方式

    help >software updates >add/remove software>add>>add site填写name 和urlname:Fat Jarurl:h ...

  7. Spring 依赖注入(DI) 的三种方式 和 对集合类型的注入

    // 分别省略了getter setter public class Student { private String name; private int age; private Teacher t ...

  8. android studio导入jar的两种方式

    一.第一种是打开工程所在Project Structure,然后选择Dependencies,点击那个加号选择File Dependency ,然后再Libs文件夹中选择要导入的jar包 1. 2. ...

  9. spring入门 依赖入注的三种方式(1)

    第一种:构造器参数注入 第二种:setter方法属性注入(setter方法的规范-JavaBean规范) 第三种:接口注入 Bean 属性的注入:对一个对象的属性的赋值 1.构造器参数注入: publ ...

随机推荐

  1. java SynchronousQueue

    SynchronousQueue 内部没有容量,但是由于一个插入操作总是对应一个移除操作,反过来同样需要满足.那么一个元素就不会再SynchronousQueue 里面长时间停留,一旦有了插入线程和移 ...

  2. FFmpeg开发环境构建

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10035365.html 1. 相关资源介绍 本文主要讲述 linux 平台 x86(及x ...

  3. Navicat备份、还原mysql数据库

    注:本文为原创,转载请附带链接:https://www.cnblogs.com/stm32stm32

  4. GCD之定时器dispatch_source_t(转载暂时未完全理解)

    #import "ViewController.h" @interface ViewController (){ IBOutlet UIButton *l_timeButton; ...

  5. ASP.NET MVC的JavaScriptResult

    前段时间,我们有学习<在ASP.NET MVC使用JavaScriptResult>http://www.cnblogs.com/insus/p/3960994.html ,今天我们来加强 ...

  6. sqlserver清除缓存(转载)

    sqlserver清除缓存,记录查询时间   1 2 3 4 5 6 7 8 9 10 11 12 --1. 将当前数据库的全部脏页写入磁盘.“脏页”是已输入缓存区高速缓存且已修改但尚未写入磁盘的数据 ...

  7. 愿你走出半生,归来仍是Java Parser

    几天前,我的一个朋友给了我一个Haskell问题 Hey, MK,假设我有个BNF,并且我在Haskell中有个这个BNF的parser.现在,我想给这个BNF改一行,有没有办法不用动这个BNF pa ...

  8. springboot —— 多数据源

    本文主要介绍如何在一个springboot项目配置两个数据源(mysql和oracle): 1.引进相关依赖 <!-- https://mvnrepository.com/artifact/my ...

  9. Code Signal_练习题_alphabeticShift

    Given a string, replace each its character by the next one in the English alphabet (z would be repla ...

  10. python-装饰器模式

    源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 有时为了给某个对象而不是给整个类添加一个功能,使用继承机制是添加功能的一个有效途 ...