从JBoss的服务器中获得源码的细节

开发 后端
本文向您详细介绍了从JBoss的服务器中获得JBoss源码的方法,以及遇到的问题和解决办法。

第一步,连接到JBoss服务器

我采用的是MyEclipse6,SVN的Eclipse插件,直接解压到MyEclipse的eclipse目录下即可,打开MyEclipse后,即可在window->show view->other中打开svn repository的窗口,在其中new一个svn repository,这个是公共的匿名服务器,每五分钟自动与JBoss服务器同步一次
PS:这个网址可以用浏览器直接访问,就好像上ftp一样,非常方便,也是SVN优于CVS的一方面

第二步,下载相应的JBoss源码

仔细看看JBoss服务器的目录就会发现JBoss源码数量之巨让人乍舌,不过在这里我只下载JBoss,因为当前市面上能买到的中文资料书,最新也就4.x,大部分也是发布到网上的正式版,可以选择一个版本下载,然后运行build/build.bat 文件,自动完成编译构建工作,如果要最新的JBoss源码,这个目录下就是JBoss所有模块的源代码了,你可以选择直接 check out 整个Branch_4_0目录,那样就得到全套JBoss4.0的JBoss源码了,然后运行 build/build.bat 即可,ant会自动完成编译、打包生成二进制代码的工作。(但在我的机子上会构建失败,不知是JBoss源码还是配置的问题)不过我们这里的目的不是获得JBoss 的可执行jar(官方网站可以直接下载release版本),也没有高级到修改JBossJBoss源码的地步,所以我只下载两个核心模块:system和jmx 。其中,system是引导JBoss启动并且载入核心模块的模块,而jmx则是JBoss核心的运行模块(我们都知道JBoss是完全基于JMX实现的)。简单的研究一下而已。

细心观察各个模块可以发现,每个模块下都有一个.project文件,显然每个模块都是一个eclipse的project,所以单纯把全部模块check out到一个项目Branch_4_0是不行的,为什么呢:首先是下回来直接构建会没反应,因为eclipse默认把工程目录下的src作为JBoss源码目录,其他目录中的JBoss源码是不会被编译的,虽然可以手动添加更多的src目录,但那样会累死。更何况,下载和构建那么多源文件也会让你的硬盘崩溃的,我是被那种磁头反复读写的噪声折磨了不止一个小时,连最后删除时系统也卡死在那里,很郁闷

言归正传,我先直接在jmx和system模块上右键“check out”,把它们签出为两个独立的Java project。但是你会不爽地发现两个项目都出现了红叉,提示几类错误:一是找不到一堆库文件,二是ant的构建文件缺这缺那的,烦死,三是 system模块还需要test模块的支持。

下面,以system模块的解决方法为例,其他模块同理可解

首先,我们的目的是让这个项目能够构建通过,从而将来看源代码时可以充分利用IDE的辅助功能,那么上述第二类错误是无关紧要的,因为暂时不需要用ant构建。

然后,第三个错误,我们可以在system项目的build path中发现,需要关联jmx模块和test模块,所以只需再把test模块check out回来即可。不过test模块同样会提示缺少一些库文件。

最后,我们在build path中查看一下那些库文件到底什么来头。可以发现他们都形如 “/thirdparty/apache/log4j”之类的,而SVN上面正好有一个“thirdparty”模块,check out回来看看——里面什么都没有,就一个README,里面写道“/thirdparty 目录的内容是由ant在构建过程中生成的,所以这个目录现在为空”。怎么办呢,难道要自己去找那些jar库文件(也不是不行,因为用到的jar都是比较有名的开源工具包),研究了一下那些ant构建文件,太多太繁琐,自己又对ant不熟,无果而终。有经验的朋友可以下载build模块,看看里面那一堆 build XXX.xml 文件

不甘心地在SVN中继续搜索,在 Branch_4_0/thirdparty/ 中就有我们所需的全部jar,可以按需下载。只是下回来的jar所在的目录结构跟模块的build path 不一致,譬如:实际jar目录为“apache\log4j\lib\log4j.jar”,而build path中为“apache-log4j\log4j.jar”,所以,最后还是要自己一个个手工重新指定路径,最起码也要修改其中的classpath

终于,修复完错误了,可以在 project->build project 尝试编译一下,成功后,在源代码中就可以进行高亮语法显示、按住ctrl跟踪源代码等高级功能了。最起码,不会再有一堆红色叉叉影响我们看代码的心情了

【编辑推荐】

  1. JBoss IDE开发EJB3.0
  2. 在Linux环境下安装JDK+JBoss
  3. 在JBOSS下发布Web程序
  4. 如何解决JBoss和log4j冲突
  5. JBoss只能用localhost访问修改办法
责任编辑:佚名 来源: CSDN博客
相关推荐

2013-06-26 09:42:25

技术服务器内存虚拟化

2009-06-17 16:56:45

JBoss服务器JSF实现

2013-08-21 09:57:54

服务器内存技术服务器

2010-08-25 09:18:13

AMDBulldozer服务器芯片

2017-03-29 15:12:43

2011-12-08 09:51:58

虚拟化服务器虚拟化

2009-06-16 15:35:20

JBoss应用服务器

2018-11-30 11:19:02

DNS根服务器网络

2009-01-10 19:38:00

服务器ServerCPU

2010-12-13 10:37:49

国产机架服务器

2019-07-04 15:00:32

PythonHTTP服务器

2019-08-22 15:26:24

HTTP服务器Python

2013-11-20 15:58:13

2018-12-06 08:50:37

zk集群服务器选举

2009-06-16 12:02:37

JBoss IPv6

2010-05-12 14:09:52

2016-11-29 08:45:17

云计算服务器

2023-05-10 10:35:14

服务器代码

2021-10-18 06:54:45

应用服务器微服务

2010-05-19 15:00:37

IIS服务器
点赞
收藏

51CTO技术栈公众号