JBoss 7 里一个EJB依赖其他jar的几种方式

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中。

原文地址:https://www.cnblogs.com/firstdream/p/9765507.html

时间: 2024-10-10 11:53:03

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

MyEclipse+JBoss创建第一个EJB,部署并通过JNDI远程调用全过程

在EJB3规范中,Entity Bean被摒弃了,替代之的是实体与JPA(Java Persistence API,Java 数据持久化API)作为数据持久层解决方案.现在看看EJB3的规范: 图1 关于实体与JPA规范和hibernate之间的联系本文不care,本文的目的是研究SessionBean(会话企业bean),特别是无状态(stateless)SessionBean. 第一步 在myEclipse中新建一个EJB工程: 图2 JPA支持暂时不选,Maven也不启用,直接单击Fini

EJB学习(二)——使用Eclipse+JBOSS创建第一个EJB项目

    1.环境配置 ·Eclipse Luna Service Release 1 (4.4.1) ·JBOSS AS 5.0 ·Java 1.8.0_25     2.创建一个EJB项目 依次点击File → New → EJB Project,填写项目名称如下: 然后点击Next → Finish; 选中EJB项目下的ejbModule文件夹,右击→ New→ Session Bean(EJB 3.X),创建一个Session Bean. HelloWrold接口: package com

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

转:https://blog.csdn.net/wabiaozia/article/details/52798194 准备工作: 假如我有一个自定义jar是:123456.jar,下载地址http://download.csdn.net/detail/wabiaozia/9870838 如果不想下载,可以按照https://jingyan.baidu.com/article/046a7b3ed8b23ef9c27fa9b9.html 操作即可得到jar. jar包里的源码是: public cl

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

上面这个图好有意思啊,哈哈, v8威武啊.... 在2014年的最后一天和大家分享关于node.js 如何提交4种格式的post数据. 上上一篇说到了关于http协议里定义的4种常见数据的post方法 ,详细介绍请点击查看. 分别是这四种: www-form-urlencoded, form-data, application/json, text/xml Express 依赖 bodyParser 对请求的包体进行解析,默认支持:application/json, application/x-

依赖注入inject的一种方式

<!DOCTYPE html> <html> <head> <title></title> </head> <body> <script> var inject = { dependencies: {}, register: function (key, value) { this.dependencies[key] = value; }, resolve: function(func, scope) { if

C++中使用new为一个变量动态生成存储空间的3种方式

1 // 使用new动态分配存储空间 2 3 #include<iostream> 4 using std::cout; 5 6 int main() 7 { 8 // 第1种方式 9 int *a=new int; 10 *a=1; 11 cout<<"使用第一种方式进行动态分配存储空间的结果为:\n" 12 <<"*a= "<<*a<<std::endl; 13 // 第2种方式 14 int *b=n

加载依赖的jar包在命令行编译和运行java文件

在命令里编译和执行java文件,当应用程序需要需要依赖的jar包里面的class文件才能编译运行的时候,应该这样做: 1. 首先是编译过程,在命令行里面执行: (1) javac -classpath ClassPath Test.java    //其中ClassPath对应的是jar包的路径,这个jar包亦可以是zip包 (2) javac -classpath CLASSPATH:*.jar Test.java    //其中ClassPath对应的是jar包的路径,这个jar包亦可以是z

maven中把依赖的JAR包一起打包(转)

转自:http://lvjun106.iteye.com/blog/1849803 这里所用到的MAVEN-PLUGIN是MAVNE-ASSEMBLY-PLUGIN 官方网站是:http://maven.apache.org/plugins/maven-assembly-plugin/usage.html 1. 添加此PLUGIN到项目的POM.XML中 Xml代码 <plugin> <artifactId>maven-assembly-plugin</artifactId&

(转)Maven依赖的jar包下载不了、jar更新不了的解决办法

场景一: 使用Maven的同学可能偶尔会遇到这种情况:pom.xml中依赖了项目需要的某个jar文件,但是使用Maven –> update project 还是没办法下载该jar到项目中,你可能需要检查本地仓库的配置,打开.m2目录下的settings.xml,配置一个中央仓库(或者你使用的jar所在的仓库地址)的镜像: <mirror> <id>mvnrepositoryMID</id> <mirrorOf>mvnrepositoryRID<